none
与INotifyPropertyChanged相关的问题 RRS feed

  • 问题

  • 我定义了一个类

    class classA
    {
        public string a1 { get; set; }
        public string a2 { get; set; }
    }
    


    我在继承时

        class classB : classA, INotifyPropertyChanged
        {
            public string a1
            {
                get
                { 
                    return this.a1; 
                }
                set
                {
                    this.a1 = value;
                    this.NotifyPropertyChanged("OrderIsSelect");
                }
            }
    
            public string a2
            {
                get
                {
                    return this.a2;
                }
                set
                {
                    this.a2 = value;
                    this.NotifyPropertyChanged("OrderIsSelect");
                }
            }
    
            public event PropertyChangedEventHandler PropertyChanged;
    
            protected void NotifyPropertyChanged(string propertyName)
            {
                var propertyChanged = this.PropertyChanged;
                if (propertyChanged != null)
                    propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

    这样是错的,我想在继承时不定义 a1、a2,只定义

    set
                {
                    this.a2 = value;
                    this.NotifyPropertyChanged("OrderIsSelect");
                }

    就是说,我想在a2发生改变时,触发一些事件,如果做到啊?????

    2013年2月27日 8:16

答案

  • 你想法我不是很清楚,不过有个很严重的错误就是:

    this.NotifyPropertyChanged("OrderIsSelect");
    这里面的OrderIsSelect是什么东西?

    --〉我想在a2发生改变时,触发一些事件,如果做到啊?????

    如果你想在a2改变时候通知UI,应该是this.NotifyPropertyChanged("a2");

    另外,如果你想在一个属性改变的时候出发一些事件,这个跟INotifyPropertyChanged接口是没多大关系的,你要做的是注册一个DP,然后注册这个DP的PropertyChanged事件,这样改变才会触发事件。


    Sheldon _Xiao
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年2月28日 7:58
    版主