WPF框架是否自动从INotifyPropertyChanged
派生类型获取更新到UI中的Bindings
?
或者我必须手动完成吗?
答案 0 :(得分:2)
如果您正确实施INotifyPropertyChanged
,则会自动执行。
答案 1 :(得分:1)
是的,它是半手动的,
string _tText;
public string Text
{
get { return _tText; }
set
{
_tText = value;
OnPropertyChanged("Text");
}
}
在属性设置为某个值后,属性更改显示调用。 OnPropertyChanged("Text");
答案 2 :(得分:0)
半手动: - )
当您实现“INotifyPropertyChanged”时,您将实现这些方法(通常实现相同的方法)
#region INotifyPropertyChanged
protected void RaisePropertyChanged(string propertyName)
{
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null) { PropertyChanged(this, e); }
}
public event PropertyChangedEventHandler PropertyChanged;
#endregion
之后,当您的某个属性发生更改时,您需要使用更改的属性名称调用“RaisePropertyChanged”。通常在该属性的设置者中