2011-12-13 27 views
13

thể trùng lặp:
Listen to changes of dependency propertyCách đăng ký thay đổi DependencyProperty?

Xin lỗi cho tiếng Anh của tôi.

Tôi cần tạo lớp có thể đăng ký thay đổi DependencyProperty và tùy thuộc vào giá trị mới của thuộc tính này để thực hiện một số hành động.

Như thế này:

MyClass obj = new MyClass(); 
obj.Subscribe(TextBox.TextProperty, myTextBox); 

Làm thế nào tôi có thể làm điều này?

+0

@ H.B, có vẻ như vậy. –

Trả lời

24

Đây là một cách để thực hiện nó, sử dụng lớp DependencyPropertyDescriptor tiện dụng.

var pd = DependencyPropertyDescriptor.FromProperty(TextBox.TextProperty, typeof(TextBox)); 
pd.AddValueChanged(myTextBox, OnTextChanged); 


private void OnTextChanged(object sender, EventArgs e) 
{ 
    ... 
} 
+11

Cách tiếp cận này gây ra rò rỉ bộ nhớ (xem http://agsmith.wordpress.com/2008/04/07/propertydescriptor-addvaluechanged-alternative/) – Lu55

Các vấn đề liên quan