1

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

为此,我需要一种方法来捕获绑定到 TextProperty 的值何时更改。

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

我需要一个仅在基础值更改时才会触发的事件,并且我需要能够在我的 TextBox 中访问它(这意味着它不能在 ViewModel 中)。

这可能吗?

4

1 回答 1

2

是的,你可以这样做:

在你的类的构造函数中:

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

然后处理程序:

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

希望能帮助到你,

问候

于 2012-07-26T22:26:39.570 回答