feat: working on selection. add a demo to AutoCompleteBoxDemo to show the keyboard navigation actually changed selection.
This commit is contained in:
@@ -23,10 +23,14 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</StackPanel.Styles>
|
</StackPanel.Styles>
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding #box.((viewModels:StateData)SelectedItem).Name}" />
|
||||||
|
|
||||||
<u:AutoCompleteBox
|
<u:AutoCompleteBox
|
||||||
|
Name="box"
|
||||||
Watermark="Please select a State"
|
Watermark="Please select a State"
|
||||||
Classes="ClearButton"
|
Classes="ClearButton"
|
||||||
ValueMemberBinding="{ReflectionBinding Name}" />
|
ValueMemberBinding="{ReflectionBinding Name}" />
|
||||||
|
|
||||||
<u:AutoCompleteBox
|
<u:AutoCompleteBox
|
||||||
Classes="Large"
|
Classes="Large"
|
||||||
ValueMemberBinding="{ReflectionBinding Name}" />
|
ValueMemberBinding="{ReflectionBinding Name}" />
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<StackPanel Spacing="20">
|
<StackPanel Spacing="20">
|
||||||
<TextBlock Text="Multi-AutoCompleteBox"/>
|
<TextBlock Text="Multi-AutoCompleteBox"/>
|
||||||
<u:MultiAutoCompleteBox ItemsSource="{Binding Items}"
|
<u:MultiAutoCompleteBox ItemsSource="{Binding Items}"
|
||||||
|
SelectedItems="{Binding SelectedItems}"
|
||||||
ItemFilter="{Binding FilterPredicate }"
|
ItemFilter="{Binding FilterPredicate }"
|
||||||
FilterMode="Custom">
|
FilterMode="Custom">
|
||||||
<u:MultiAutoCompleteBox.ItemTemplate>
|
<u:MultiAutoCompleteBox.ItemTemplate>
|
||||||
@@ -22,6 +23,11 @@
|
|||||||
</TextBlock>
|
</TextBlock>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</u:MultiAutoCompleteBox.ItemTemplate>
|
</u:MultiAutoCompleteBox.ItemTemplate>
|
||||||
|
<u:MultiAutoCompleteBox.SelectedItemTemplate>
|
||||||
|
<DataTemplate DataType="vm:ControlData">
|
||||||
|
<TextBlock Text="{Binding MenuHeader}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</u:MultiAutoCompleteBox.SelectedItemTemplate>
|
||||||
</u:MultiAutoCompleteBox>
|
</u:MultiAutoCompleteBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ namespace Ursa.Demo.ViewModels;
|
|||||||
public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
|
public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
|
||||||
{
|
{
|
||||||
public ObservableCollection<ControlData> Items { get; set; }
|
public ObservableCollection<ControlData> Items { get; set; }
|
||||||
|
public ObservableCollection<ControlData> SelectedItems { get; set; }
|
||||||
public AutoCompleteFilterPredicate<object> FilterPredicate { get; set; }
|
public AutoCompleteFilterPredicate<object> FilterPredicate { get; set; }
|
||||||
|
|
||||||
public MultiAutoCompleteBoxDemoViewModel()
|
public MultiAutoCompleteBoxDemoViewModel()
|
||||||
{
|
{
|
||||||
|
SelectedItems = new ObservableCollection<ControlData>();
|
||||||
Items = new ObservableCollection<ControlData>
|
Items = new ObservableCollection<ControlData>
|
||||||
{
|
{
|
||||||
new() { MenuHeader = "Button Group", Chinese = "按钮组" },
|
new() { MenuHeader = "Button Group", Chinese = "按钮组" },
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<u:ClosableTag
|
<u:ClosableTag
|
||||||
Content="{Binding .}"
|
Content="{Binding .}"
|
||||||
Command="{Binding $parent[u:TagInput].Close}"
|
Command="{Binding $parent[u:TagInput].Close}"
|
||||||
ContentTemplate="{TemplateBinding SelectedItemTemplate}"
|
ContentTemplate="{Binding $parent[u:MultiAutoCompleteBox].SelectedItemTemplate}"
|
||||||
></u:ClosableTag>
|
></u:ClosableTag>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ItemsControl.ItemTemplate>
|
</ItemsControl.ItemTemplate>
|
||||||
|
|||||||
@@ -1630,6 +1630,8 @@ public partial class MultiAutoCompleteBox : TemplatedControl, IInnerContentContr
|
|||||||
{
|
{
|
||||||
// TODO set selection.
|
// TODO set selection.
|
||||||
// SetCurrentValue(SelectedItemProperty, _adapter!.SelectedItem);
|
// SetCurrentValue(SelectedItemProperty, _adapter!.SelectedItem);
|
||||||
|
SelectedItems?.Add(_adapter?.SelectedItem);
|
||||||
|
// UpdateTextValue(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO Check UpdateTextCompletion
|
//TODO Check UpdateTextCompletion
|
||||||
|
|||||||
Reference in New Issue
Block a user