【发布时间】:2026-01-03 19:00:01
【问题描述】:
我有自己的自定义 TextBox 类。它在某种程度上帮助我处理来自条形码阅读器的扫描。
为此,我需要一种方法来捕获绑定到 TextProperty 的值何时发生变化。
注意:我不是在寻找“TextChanged”事件或任何与按键相关的事件(除非该按键更新源)。
我需要一个仅在基础值更改时触发的事件,并且我需要能够在我的 TextBox 中访问它(这意味着它不能在 ViewModel 中)。
这可能吗?
【问题讨论】:
我有自己的自定义 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) { }
希望对你有帮助,
问候
【讨论】: