Skip to content
Nilay Joshi edited this page Apr 19, 2020 · 9 revisions

About BlacPearl repo

This repo was created to put different basic WPF Custom-control/User-controls under same roof. These controls solve basic and frequently faced issue by developers. As of now, this repo contains one user-control MultiSelectCombobox. In future, I'm planning to add more.


MultiSelectCombobox

WPF has ListBox control which lets user select more than one item. However, ListBox control UI doesn't have in-built support for searching/filtering. Developers have to do work around to provision one. Moreover, lot of mouse interaction is required. Yes, you may be able to do all completely using keyboard. On the other hand, Combobox has a very good UI which supports Searching and filtering. However, it doesn't support multiple selection.

What if we can combine behavior of ListBox and goodness of Combobox UI? MultiSelectCombobox exactly does the same thing. It provides functionality of searching/filtering with multiple selection. MultiSelectCombobox tries to mimic UI behavior of ComboBox.


Feature of MultiSelectCombobox

  • In built support for searching and filtering
  • Extensible to support custom searching and filtering for Complex type
  • Ability to add item which is not part of source collection (through LookUpContract for complex types)
  • Easy to use!

UserControl Design

MultiSelectCombobox is composed of RichTextBox, Popup and ListBox. Text entered in RichTextBox is monitored and manipulated. If it finds suitable item from source collection, it will replace entered text selected item. Selected item is shown as TextBlock - Inline UI element. On key press, popup box will show up and display items matching search criteria. If there is no item in collection matching search criteria, it won't shot up.

Clone this wiki locally