我有自己的自定义TextBox类(称之为MyCustomTextBox
)。在某种程度上,它可以帮助我处理条形码阅读器的扫描。
我需要的部分工作是捕获绑定到TextProperty的值何时更改的方法。
注意:我不是在寻找“TextChanged”事件或任何与按键相关的事件(除非按键更新源时)。
以下是一个例子:
我需要一个事件(在MyCustomTextBox
中),只有在基础值(CustomerId)发生变化时才会触发。
注意:每次按键发生时,实际的TextProperty都会更改。但是直到稍后才更新Source(取决于您的UpdateSourceTrigger设置)。 TextProperty变化太频繁,无法完成我想要做的事情。所以附在它上对我没有帮助。
有没有办法附加到TextProperty下的值?
这可能吗?
答案 0 :(得分:1)
是的,你需要连接2个事件
<TextBox Name="Fred" Text="{Binding Foo, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=LostFocus}" TargetUpdated="Fred_TargetUpdated" SourceUpdated="Fred_SourceUpdated">
当文本框以外的内容更改基础属性(以及首次绑定时)时,会触发TargetUpdated事件,例如。 VM中的某些方法说
当您的文本框更新其绑定时,例如失去焦点时,Sourceupdated事件将被触发