WPF会自动从INotifyPropertyChanged更新?

时间:2013-12-24 10:06:29

标签: c# wpf inotifypropertychanged

WPF框架是否自动从INotifyPropertyChanged派生类型获取更新到UI中的Bindings

或者我必须手动完成吗?

3 个答案:

答案 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”。通常在该属性的设置者中