我正在创建一个自动完成框,它使用有效值列表(对象,而不是字符串)。对象直接绑定,框(文本框和下拉部分)使用 DisplayMemberPath 来确定要显示为文本的内容。
我希望用户能够输入文本 - 如果文本与有效值之一不匹配,我希望它保留在框中并在视觉上被标记为无效。
现在,当我绑定到视图模型时,显然我需要为这个无效值设置一些东西。我尝试将值设置为 DependencyProperty.UnsetValue。这将作为 null 返回给 VM。
如果我以后想“清除”我的表单,我将 VM 属性设置为 null,但当然这不会过滤到控件,因为值没有改变。
我本来希望 Property 系统注意到新值为 null 而旧值为 UnsetValue 并因此触发该事件。
我错过了什么明显的东西吗?
谢谢