c# (silverlight) 是否有任何功能可以让我在不使用依赖属性的情况下监视用户控件的属性,以了解何时进行任何更改?我想要一个不是静态的。
有两种标准机制可以实现“观察”模式(即所描述的模式)。一是使用依赖属性。
另一个是INotifyPropertyChanged接口的实现。
public partial class MyUserControl : UserControl, INotifyPropertyChanged
{
string _myProperty;
public string MyProperty
{
get { return _myProperty; }
set
{
_myProperty = value;
NotifyPropertyChanged("MyProperty");
}
}
private void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name);
}
public event PropertyChangedEventHandler PropertyChanged
}
为了观看财产,您需要附加到PropertyChanged
event.
MyUserControl control = new MyUserControl();
control += Control_PropertyChanged;
...
void Control_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "MyProperty")
{
//Take appropriate action when MyProperty has changed.
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)