我不知道是否有一種方法可以在布爾型字段從true變爲false時直接控制某些事件?當布爾型字段發生變化時引發一些事件的直接方式?
像使用委託?
其實我有很多的用戶輸入控件(複選框,文本框,等..),我期待爲使用的foreach和control.disabled東西圍繞一個方式。
我不知道是否有一種方法可以在布爾型字段從true變爲false時直接控制某些事件?當布爾型字段發生變化時引發一些事件的直接方式?
像使用委託?
其實我有很多的用戶輸入控件(複選框,文本框,等..),我期待爲使用的foreach和control.disabled東西圍繞一個方式。
屬性是一件好事,從內火起來的事件:
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
。
肯定有,對屬性的set訪問使用事件序幕,而不是直接改變成員變量的...
使用屬性來設置字段值。在屬性的setter中引發PropertyChanged事件。
示例代碼:
bool Flag
{
get { return this.flag; }
set
{
if (this.flag != value)
{
this.flag = value;
// Raise PropertyChanged event here ..
}
}
}
這是正確的。如果你正在使用WPF,可以實現INotifyPropertyChanged接口和綁定,這是非常方便的需要。
還是用行動:
private bool isIt;
public Action YourAction{get; set;}
public bool IsIt
{
get{return isIt;}
set{isIt = value; if(YourAction != null) YourAction();}
}
我相信你必須將值改爲statemtent後瑞星聲明.. – 2011-04-21 19:10:46
真,這將是更好的分配之後的實際值的變化和ValueChanged事件之前提高ValueChanging事件就像框架本身一樣。修正了錯字,謝謝。 – 2011-04-21 19:16:01