【问题标题】:Editable combobox with binding, block missing values带绑定的可编辑组合框,阻止缺失值
【发布时间】:2012-02-16 18:17:09
【问题描述】:

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

当用户执行此操作时,组合框会突出显示红色,仅此而已。我希望它实际清除值,或选择最接近的匹配项,以更容易者为准。在不绑定文本并将验证逻辑放入 setter 的情况下,这是否可行?

【问题讨论】:

  • 当组合框不可编辑时,用户实际上可以通过键入和标记来找到项目。
  • 它的灵活性要差得多,退格键的功能也不同。

标签: wpf data-binding combobox


【解决方案1】:

不,没有简单的方法可以开箱即用地解决该问题。

你需要按照你说的做,绑定到文本,或者更正确地(至少在我看来),在 PreviewKeyPressed、TextChanged、LostFocus 等之间处理这个的专门派生的 ComboBox/attached 行为。

根据个人经验,让这样的自定义行为完美运行可能会很痛苦。

我同意您在完美世界中更喜欢的是只读组合框,但改进了“键入时搜索”,您可以在其中实际查看您键入的内容并即时对其进行编辑。

【讨论】:

  • 谢谢,我担心是这样的。
猜你喜欢
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
相关资源
最近更新 更多