我有一个组合框,我希望用户能够将他们的选择输入到组合框中。我将它设置为可编辑的,但用户可以输入他们想要的任何条目。虽然说清单包含狗,猫,鸟。用户可以输入Snaked。我怎么能阻止这个?
<ComboBox IsEditable="True" Grid.Column="2" Grid.Row="1" Margin="5,3,0,0"
Text="{Binding Model.Number}" ItemsSource="{Binding DList}"
SelectedItem="{Binding Model.Number}"
IsEnabled="{Binding EnableComboBox}"
VerticalAlignment="Top">
</ComboBox>
答案 0 :(得分:1)
将其设为只读,这将停止输入功能。如果在VS中,您可以在组合框的属性部分中执行此操作。
答案 1 :(得分:0)
我该怎么办?
将IsEditable
属性设置为false,将IsTextSearchEnabled
属性设置为true:
<ComboBox IsEditable="False" ItemsSource="{Binding DList}" IsTextSearchEnabled="True" />
如果您只希望用户能够选择Items集合中实际存在的内容,那么拥有ComboBox
的可编辑TextBox
是没有意义的。< / p>
如果ComboBox
绑定到IEnumerable<T>
,您可以将TextSearch.TextPath
属性设置为T
类型的属性名称:
<ComboBox IsEditable="False" ItemsSource="{Binding Animals}" IsTextSearchEnabled="True" TextSearch.TextPath="AnimalName" />