可编辑的组合框,具有绑定,阻止缺失值

时间:2012-02-16 18:17:10

标签: wpf data-binding combobox

有几个类似的问题,但他们似乎都在寻求相反的行为。我有一个数据绑定组合框,我希望用户能够通过键入来定位其中的值,就像它是一个文本框一样。使用IsEditable时,此行为很简单,但它会导致用户能够选择不在ItemsSource中的值。

当用户执行此操作时,Combobox会突出显示红色,但就是这样。我希望它实际清除值,或选择最接近的匹配,以较容易的方式。这是否可能没有绑定到文本,并将验证逻辑放入setter?

1 个答案:

答案 0 :(得分:0)

不,没有简单的方法来解决开箱即用的问题。

你需要像你说的那样做,绑定到文本,或者更正确(至少在我看来),制作专门的派生ComboBox /附加行为,你在PreviewKeyPressed,TextChanged,LostFocus等之间处理它。

从个人经验来看,让这样的自定义行为完美地运作会很痛苦。

我同意你在完美世界中更喜欢的是只读组合框,但改进了“你打字时搜索”,你可以实际看到你输入的内容并在运行中进行编辑。