【发布时间】:2013-06-24 16:22:41
【问题描述】:
我正在使用绑定到对象的基本文本框。基本上,我想要做的是每次编辑框中的文本并且用户取消选择框或编辑底层绑定数据时调用一个方法。我现在使用的是 TextChanged 事件,但这有一些问题:
第一次创建 TextBox 时调用它,我不想要这个。
每次添加新字符时都会调用它,我只希望在底层绑定数据发生更改时调用它(这似乎是每当焦点从框转移时)。
我怎样才能做到这一点?
编辑:我尝试了其他几个 TextBox 属性,例如 Get/LostFocus,但它们似乎从未触发过。
另外,我不想将此方法调用放在属性的 Setter 中,因为底层数据在逻辑上与该项目的 UI 是分开的,我不希望任何方法调用与为 UI 进行计算。
【问题讨论】:
-
将逻辑放入属性的setter中。
-
我添加了一些 cmets 来解决这些问题。
-
Also, I don't want to put this method call in the Setter of the Property- 这就是 ViewModel 的用途。 -
请举例说明在逻辑上与底层数据分离并为 UI 进行计算的方法调用示例?
-
正如@Bill Zhang 建议的那样,UpdateSourceTrigger=LostFocus is the trick that worked for me