1、寫一個監聽值變化的類
public class MonitorValueChange
{
private Visibility myValue;
public Visibility MyValue
{
get { return myValue; }
set
{
if (value != myValue)
{
WhenMyValueChange();
}
myValue = value;
}
}
//定義的委托
public delegate void MyValueChanged(object sender, EventArgs e);
//與委托相關聯的事件
public event MyValueChanged OnMyValueChanged;
//事件觸發函數
private void WhenMyValueChange()
{
if (OnMyValueChanged != null)
{
OnMyValueChanged(this, null);
}
}
}
2、調用該類監聽數據
MonitorValueChange change = new MonitorValueChange();
change.MyValue = Visibility.Visible;
change.OnMyValueChanged += Change_OnMyValueChanged;
change.MyValue = Visibility.Collapsed;
private void Change_OnMyValueChanged(object sender, EventArgs e)
{
//要做的操作
}
