Net*_*ide 19 wpf select combobox hotkeys
我有一个WPF ComboBox,我想ComboBox在我输入那个字母的时候去找(例如)"e" 开头的项目.怎么样?
我的XAML代码:
<ComboBox ItemsSource="{Binding Roles}" SelectedValuePath="Id"
ItemTemplate="{StaticResource ComboBoxDisplayName}"
SelectedItem="{Binding SelectedRole}"
Width="150"/>
Run Code Online (Sandbox Code Playgroud)
Moo*_*oll 23
编辑:我猜你有一个ItemTemplate看起来像这样的东西:
<StackPanel>
<TextBlock Text="{Binding Path=Foo}" />
<TextBlock Text="{Binding Path=Bar}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
如果你想搜索Foo,那么试试......
<ComboBox IsEditable = "True" TextSearch.TextPath = "Foo" />
Run Code Online (Sandbox Code Playgroud)
默认情况下,a ComboBox有一种基于第一个字母查找匹配项的自动完成 - 假设您的源按字母顺序排序,这会将所选项目移动到(例如)以"e"开头的部分.
追赶KeyDown,如果你希望开始与同一封信几个条目,迫使下拉打开可能是有用的.
Tab*_*ool 14
假设您的项目按字母顺序排序,只需设置IsTextSearchEnabled="True"应跳转到以您键入的字母(或字母)开头的项目ComboBox.
这是我的一个例子ComboBox,我简化了绑定,因为它显然不是这里的重要部分......
<ComboBox ItemsSource="{Binding MyObjectList}"
DisplayMemberPath="Description"
SelectedValuePath="Code"
IsTextSearchEnabled="True"/>
Run Code Online (Sandbox Code Playgroud)
这非常适合从列表中选择值,但是,您键入的搜索值将不会显示在控件的TextBox部分中,因为我已将其IsEditable设置为false.
如果有人想解释为什么这已被否决我们将不胜感激,我没有看到我所提供的答案的任何问题,不明白为什么我应该输的时候我只是想帮助声誉(并提供了合理的答案!)