WPF Combobox是可编辑的绑定条目列表

时间:2017-02-09 15:49:39

标签: c# wpf validation combobox

我有一个组合框,我希望用户能够将他们的选择输入到组合框中。我将它设置为可编辑的,但用户可以输入他们想要的任何条目。虽然说清单包含狗,猫,鸟。用户可以输入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>

2 个答案:

答案 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" />