使用以下简单文本框作为示例:
<ComboBox IsEditable="True" SelectedItem="{Binding}">
<ComboBoxItem>Angus/ComboBoxItem>
<ComboBoxItem>Jane</ComboBoxItem>
<ComboBoxItem>Steve</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
我想允许用户通过输入名称来查找他们的选择,所以我将IsEditable设置为等于true.绑定到SelectedItem的属性的可接受值是列表中的任何一个选项,或者没有选择(null).问题是,如果某人键入不在列表中的名称,则默认情况下没有错误指示.
例如:用户可以键入"Bob",导致SelectedItem属性为null,但没有意识到Bob在列表中不存在.相反,我想在ComboBox的Text属性不为null或为空时提供可视指示并且SelectedItem为null,并阻止它们再输入?
我最初的想法是自定义验证规则,但我不知道如何访问组合框的Text和SelectedItem属性.