为TextBox的后代获取绑定到Text Property的值的更改事件

时间:2012-07-26 21:56:26

标签: c# .net wpf binding

我有自己的自定义TextBox类。在某种程度上,它可以帮助我处理条形码阅读器的扫描。

我需要的部分工作是捕获绑定到TextProperty的值何时更改的方法。

注意:我不是在寻找“TextChanged”事件或任何与按键相关的事件(除非按键更新源时)。

我需要一个仅在基础值发生变化时触发的事件,我需要能够在我的TextBox中访问它(意味着它不能在ViewModel中)。

这可能吗?

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做:

在你的班级构造函数中:

  var dpd = DependencyPropertyDescriptor.FromProperty(YourTextBoxClass.TextProperty, typeof(YourTextBoxClass));
 if (dpd != null)
 {
     dpd.AddValueChanged(this, ThisIsCalledWhenPropertyIsChanged);
 }    

然后是处理程序:

private void ThisIsCalledWhenPropertyIsChanged(object sender, EventArgs e) { }

希望它有所帮助,

此致