-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Search all SelectingItemsControl items with TextSearch on key input, not just realized ones #17506
base: master
Are you sure you want to change the base?
Search all SelectingItemsControl items with TextSearch on key input, not just realized ones #17506
Conversation
You can test this PR using the following package version. |
|
@cla-avalonia agree |
Everything was passing prior to me merging master... not sure what changed, could be transient failures? |
@jonko0493 don't worry tests are a bit flaky atm |
You can test this PR using the following package version. |
What does the pull request do?
This PR brings the behavior of
SelectingItemControl
s withVirtualizingPanel
presenters into parity with those controls without virtualizing presenters.What is the current behavior?
Currently,
SelectingItemsControl
s withVirtualizingPanel
item presenters (such asComboBox
) do not search the full contents of their boxes with text search, only the currently realized controls. This meansthat if a(this was slightly wrong!) it will only jump to items immediately in the popup.ComboBox
is closed, typing does nothing, and even when opened,What is the updated/expected behavior with this PR?
Now,
ComboBox
es and otherSelectingItemsControl
s with virtualizing presenters will have properTextSearch
for their entire item sets.How was the solution implemented (if it's not obvious)?
The anonymous method that existed in the
SelectingItemsControl
class previously has been moved into a static method inItemsPresenter
. It's now used there and inVirtualizingPanel
to check search their items/children for text search. (Note: I don't know if there is a preferred place for a static method like this; happy to move as appropriate.)Unit test case was added to an existing test and the test was adapted so that ComboBoxes in tests will use a
VirtualizingStackPanel
like the real controls do to ensure the tests fail without this change.Checklist
Breaking changes
Obsoletions / Deprecations
Fixed issues
Fixes #12490.