2011-04-21 37 views

回答

2

屬性是一件好事,從內火起來的事件:

private bool check = false; 
public bool MyCheckboxChecked 
{ 
    get 
    { 
     return check; 
    } 

    set 
    { 
     if (check == true && value == false) 
      MyEvent("MyCheckboxChecked is about to change from true to false!"); 
     check = value; 
    } 
} 

如果你想監控的控制(即CheckBox.Checked)公共領域,可以隨時轉播對於他們已經提供的事件,如CheckedChanged

+0

我相信你必須將值改爲statemtent後瑞星聲明.. – 2011-04-21 19:10:46

+0

真,這將是更好的分配之後的實際值的變化和ValueChanged事件之前提高ValueChanging事件就像框架本身一樣。修正了錯字,謝謝。 – 2011-04-21 19:16:01

0

肯定有,對屬性的set訪問使用事件序幕,而不是直接改變成員變量的...

2

使用屬性來設置字段值。在屬性的setter中引發PropertyChanged事件。

示例代碼:

bool Flag 
{ 
    get { return this.flag; } 
    set 
    { 
     if (this.flag != value) 
     { 
      this.flag = value; 
      // Raise PropertyChanged event here .. 
     } 
    } 
} 
1

這是正確的。如果你正在使用WPF,可以實現INotifyPropertyChanged接口和綁定,這是非常方便的需要。

還是用行動:

private bool isIt; 
public Action YourAction{get; set;} 

public bool IsIt 
{ 
get{return isIt;} 
set{isIt = value; if(YourAction != null) YourAction();} 
} 
相關問題