feat: working on selection. add a demo to AutoCompleteBoxDemo to show the keyboard navigation actually changed selection.

This commit is contained in:
rabbitism
2025-09-14 10:57:37 +08:00
parent 8ec815c885
commit 4f93801e77
5 changed files with 15 additions and 1 deletions

View File

@@ -23,10 +23,14 @@
</Style>
</StackPanel.Styles>
<TextBlock Text="{Binding #box.((viewModels:StateData)SelectedItem).Name}" />
<u:AutoCompleteBox
Name="box"
Watermark="Please select a State"
Classes="ClearButton"
ValueMemberBinding="{ReflectionBinding Name}" />
<u:AutoCompleteBox
Classes="Large"
ValueMemberBinding="{ReflectionBinding Name}" />

View File

@@ -10,6 +10,7 @@
<StackPanel Spacing="20">
<TextBlock Text="Multi-AutoCompleteBox"/>
<u:MultiAutoCompleteBox ItemsSource="{Binding Items}"
SelectedItems="{Binding SelectedItems}"
ItemFilter="{Binding FilterPredicate }"
FilterMode="Custom">
<u:MultiAutoCompleteBox.ItemTemplate>
@@ -22,6 +23,11 @@
</TextBlock>
</DataTemplate>
</u:MultiAutoCompleteBox.ItemTemplate>
<u:MultiAutoCompleteBox.SelectedItemTemplate>
<DataTemplate DataType="vm:ControlData">
<TextBlock Text="{Binding MenuHeader}" />
</DataTemplate>
</u:MultiAutoCompleteBox.SelectedItemTemplate>
</u:MultiAutoCompleteBox>
</StackPanel>
</UserControl>

View File

@@ -8,10 +8,12 @@ namespace Ursa.Demo.ViewModels;
public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
{
public ObservableCollection<ControlData> Items { get; set; }
public ObservableCollection<ControlData> SelectedItems { get; set; }
public AutoCompleteFilterPredicate<object> FilterPredicate { get; set; }
public MultiAutoCompleteBoxDemoViewModel()
{
SelectedItems = new ObservableCollection<ControlData>();
Items = new ObservableCollection<ControlData>
{
new() { MenuHeader = "Button Group", Chinese = "按钮组" },