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 に答える