Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: MultiSelect ComboBox #70

Closed
ghost opened this issue May 2, 2019 · 3 comments
Closed

[Feature]: MultiSelect ComboBox #70

ghost opened this issue May 2, 2019 · 3 comments

Comments

@ghost
Copy link

ghost commented May 2, 2019

Purpose

To introduce a new control to Orc's Control Ecosystem called a MultiSelect ComboBox. As shown below it can be either one of these variations (or both).

CheckedDropDownMock

Feature description

The premise of this feature is to introduce the supported concept of multiple item selection to a ComboBox. This would allow the implementer to leverage support for multi-value collections (such as a collection of strings, integers and so forth) in an easy to use form.

At a high-level the API for the control would have the following exposed properties:

Property Name Property Type Binding Mode
ItemsSource IEnumerable Two-Way
SelectedItems IEnumerable Two-Way
DisplayMemberPath string One-Way to Source
SelectedValueMemberPath string One Way to Source

DisplayMemberPath and SelectedValueMemberPath are leveraged properties for when the underlying ItemsSource type is of either IDictionary<TKey, TValue> or IEnumerable<KeyValuePair<TKey, TValue>> or a collection composing of business objects rather than primitive types.

Conjecture

If DisplayMemberPath is not defined then the ToString() method of the underlying type is called.

If SelectValueMemberPath is not defined, then the underlying type is used.

Final Notes

This is all preliminary and it is possible that feature development may be accelerated using some of the foundation of the ColorLegend control. I am willing to take ownership of this feature development once my time allows. The request for the feature is not due to a needed business requirement but rather a desire to contribute to the library.

@GeertvanHorrik
Copy link
Member

Sounds like a great control to have. The mock-ups show it as a window, but I think we can implement this as a separate control (without the buttons) so it can be used anywhere?

Pinging @ceo1647 / @mkhomutov , in case you are interested in helping out with the development as well.

@ghost
Copy link
Author

ghost commented May 2, 2019

My apologies if the mock ups make it seem like it’s a window. It is actually not a window. The button row is part of the listbox drop down. The design is intentional to prevent closure of the dropdown upon checking an item or moving off focus by requiring the user to click OK to commit changes or Cancel to roll back.

@stale
Copy link

stale bot commented Jul 1, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Jul 1, 2019
@ghost ghost closed this as completed Sep 28, 2019
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant