小编Jos*_*ton的帖子

控制不立即使用INotifyPropertyChanged更新绑定属性

我有控件在焦点丢失之前不更新绑定对象的相应属性.有类似的问题与引用的答案引用DataSourceUpdateMode.OnPropertyChange被声明,我这样做,但行为仍然存在.这是一个示例实现.我会尽量彻底,但要简洁.该MyConfig班是通过在Singleton类我称之为属性进行访问Configuration.

[Serializable]
public class MyConfig : INotifyPropertyChanged
{
    public enum MyEnum
    {
        Foo,
        Bar
    }

    public MyConfig()
    {
        MyProperty = MyEnum.Foo;
    }

    private MyEnum _MyProperty;
    public MyEnum MyProperty
    {
        get { return _MyProperty; }
        set { if (value != _MyProperty) { _MyProperty = value; OnPropertyChanged("MyProperty"); } }
    }

    [field: NonSerialized]
    public event PropertyChangedEventHandler PropertyChanged;

    private void OnPropertyChanged(string propertyName)
    {
        if (string.IsNullOrEmpty(propertyName))
            throw new ArgumentNullException(propertyName);
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

public …
Run Code Online (Sandbox Code Playgroud)

c# data-binding inotifypropertychanged winforms

18
推荐指数
1
解决办法
6782
查看次数