All Projects → vain0x → DotNetKit.Wpf.AutoCompleteComboBox

vain0x / DotNetKit.Wpf.AutoCompleteComboBox

Licence: MIT license
ComboBox with filtering (auto-complete) for WPF

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to DotNetKit.Wpf.AutoCompleteComboBox

wpf-demos
This repository contains the samples for Syncfusion WPF UI Controls and File Format libraries and the guide to use them.
Stars: ✭ 128 (+93.94%)
Mutual labels:  wpf, wpf-controls
HandyControl
WPF HandyControl各个控件使用案例;修改主题、颜色、语言。
Stars: ✭ 49 (-25.76%)
Mutual labels:  wpf, wpf-controls
nodify
High performance and modular controls for node-based editors designed for data-binding and MVVM.
Stars: ✭ 282 (+327.27%)
Mutual labels:  wpf, wpf-controls
BlackPearl
Control Library for WPF
Stars: ✭ 17 (-74.24%)
Mutual labels:  wpf, combobox
WPF-Keyboard-Control
WPF Keyboard Control
Stars: ✭ 53 (-19.7%)
Mutual labels:  wpf, wpf-controls
ModernWpf
Modern styles and controls for your WPF applications without need WinRT
Stars: ✭ 65 (-1.52%)
Mutual labels:  wpf, wpf-controls
Handycontrol
Contains some simple and commonly used WPF controls
Stars: ✭ 3,349 (+4974.24%)
Mutual labels:  wpf, wpf-controls
Toast
🍞 The rounded and animated Android Toast for .NET WPF/XAML
Stars: ✭ 25 (-62.12%)
Mutual labels:  wpf
FileRenamerDiff
A File Renamer App featuring a difference display before and after the change.
Stars: ✭ 32 (-51.52%)
Mutual labels:  wpf
YC.Marketing
提供预约、会员、订单、数据统计功能采用WPF MVVM
Stars: ✭ 30 (-54.55%)
Mutual labels:  wpf
ChronClient
ChronClient is a Minecraft Bedrock Windows 10 Edition Client written in C#. It is being contributed by CXCubeHD.
Stars: ✭ 31 (-53.03%)
Mutual labels:  wpf
ColorPickerLib
A WPF/MVVM implementation of a themeable color picker control.
Stars: ✭ 44 (-33.33%)
Mutual labels:  wpf
machine-learning-blackjack-solution
Finding an optimal Blackjack strategy using AI
Stars: ✭ 40 (-39.39%)
Mutual labels:  wpf
AdmiralRoom
An open source browser-like tool for KanColle.
Stars: ✭ 57 (-13.64%)
Mutual labels:  wpf
SpicyTaco.AutoGrid
A magical replacement for the built in WPF Grid and StackPanel
Stars: ✭ 67 (+1.52%)
Mutual labels:  wpf
EyesGuard
👀 Windows Application for protecting your eyes
Stars: ✭ 217 (+228.79%)
Mutual labels:  wpf
Syosetu-Downloader
Download chapters from Syosetsu ni Narou
Stars: ✭ 23 (-65.15%)
Mutual labels:  wpf
Colora
Color converter, screen color picker and color palettes for Windows
Stars: ✭ 32 (-51.52%)
Mutual labels:  wpf
Hacktober-2019
Repo for TOM members dedicated for the Hacktober fest of 2019 (6th edition), this repo is here to encourage open source learning and sharing and enhance git/github using abilities.
Stars: ✭ 16 (-75.76%)
Mutual labels:  wpf
MoalemYar
A personal project for class management, using various technologies like WPF, Entityframwork, CodeFirst, Sqlite, Migration and more
Stars: ✭ 53 (-19.7%)
Mutual labels:  wpf

AutoCompleteComboBox for WPF

NuGet version

Provides a lightweight combobox with filtering (auto-complete).

Screenshot

Usage

Install via NuGet.

Declare XML namespace.

<Window
    ...
    xmlns:dotNetKitControls="clr-namespace:DotNetKit.Windows.Controls;assembly=DotNetKit.Wpf.AutoCompleteComboBox"
    ... >

Then you can use AutoCompleteComboBox. It's like a normal ComboBox because of inheritance.

<dotNetKitControls:AutoCompleteComboBox
    SelectedValuePath="Id"
    TextSearch.TextPath="Name"
    ItemsSource="{Binding Items}"
    SelectedItem="{Binding SelectedItem}"
    SelectedValue="{Binding SelectedValue}"
    />

Note that:

  • Set a property path to TextSearch.TextPath property.
    • The path leads to a property whose getter produces a string value to identify items. For example, assume each item is an instance of Person, which has Name property, and the property path is "Name". If the user input "va", the combobox filters the items to remove ones (persons) whose Name don't contain "va".
    • No support for TextSeach.Text.
  • Don't use ComboBox.Items property directly. Use ItemsSource instead.
  • Although the Demo project uses DataTemplate to display items, you can also use DisplayMemberPath.

Configuration

This library works fine in the default setting, however, it also provides how to configure.

<dotNetKitControls:AutoCompleteComboBox
    Setting="..."
    ...
    />
  • Or set to AutoCompleteComboBoxSetting.Default to apply to all comboboxes.

Performance

Filtering allows you to add a lot of items to a combobox without loss of usability, however, that makes the performance poor. To get rid of the issue, we recommend you to use VirtualizingStackPanel as the panel.

Use ItemsPanel property:

<dotNetKitControls:AutoCompleteComboBox ...>
    <dotNetKitControls:AutoCompleteComboBox.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel />
        </ItemsPanelTemplate>
    </dotNetKitControls:AutoCompleteComboBox.ItemsPanel>
</dotNetKitControls:AutoCompleteComboBox>

or declare a style in resources as the Demo app does.

See also WPF: Using a VirtualizingStackPanel to Improve ComboBox Performance for more detailed explanation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].
OSZAR »