我有自己的自定义 TextBox 类。它在某种程度上帮助我处理来自条形码阅读器的扫描。
为此,我需要一种方法来捕获绑定到 TextProperty 的值何时更改。
注意:我不是在寻找“TextChanged”事件或任何与按键相关的事件(除非该按键更新源)。
我需要一个仅在基础值更改时才会触发的事件,并且我需要能够在我的 TextBox 中访问它(这意味着它不能在 ViewModel 中)。
这可能吗?
是的,你可以这样做:
在你的类的构造函数中:
var dpd = DependencyPropertyDescriptor.FromProperty(YourTextBoxClass.TextProperty, typeof(YourTextBoxClass));
if (dpd != null)
{
dpd.AddValueChanged(this, ThisIsCalledWhenPropertyIsChanged);
}
然后处理程序:
private void ThisIsCalledWhenPropertyIsChanged(object sender, EventArgs e) { }
希望能帮助到你,
问候