属性更改时,可以触发相应的事件,该类必须继承INotifyPropertyChanged接口,编写相应的的事件,代码如下:

 

public class Person : INotifyPropertyChanged
    {
        public Person()
        { }

        public Person(string p_strName)
        {
            this.m_strName = p_strName;
        }

        private string m_strName = string.Empty;
        public string Name
        {
            get
            {
                return this.m_strName;
            }
            set
            {
                this.m_strName = value;
                this.OnPropertyChanged(new PropertyChangedEventArgs("Name"));

            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, e);
            }
        }
    }

 

 

/// <summary>
    /// Window1.xaml 的交互逻辑
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        Person m_clsPerson = new Person();
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            m_clsPerson.Name = "Hello" + this.textBox1.Text.Trim();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            m_clsPerson.PropertyChanged +=new System.ComponentModel.PropertyChangedEventHandler(m_clsPerson_PropertyChanged);
        }

        private void m_clsPerson_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            this.label1.Content = "属性已经改变成:" + this.m_clsPerson.Name ;
        }
    }