WPF:属性改变通知UI展示


先定义一个类用于数据绑定:

 class user: INotifyPropertyChanged//INotifyPropertyChanged接口是 WPF/Silverlight 开发中非常重要的接口, 它构成了 ViewModel 的基础, 数据绑定基本上都需要这个接口。
        {
            private string _Name;
            public string Name
            {
                get
                {
                    return _Name;
                }
                set
                {
                    _Name = value;
                    OnPropertyChanged("Name");
                }
            }
            //PropertyChangedEventHandler 事件委托。
            //所谓“事件委托”,一个事件的本质是一个委托(因为事件是委托类型的)。
            //而委托的好处在于它可以动态调用不同类之间(即跨类调用)具备相同函数签名(函数参数顺序、类型、个数相同),且函数返回值必须完全相同的函数。
            protected internal virtual void OnPropertyChanged(string propertyName)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            }
            public event PropertyChangedEventHandler PropertyChanged;
        }

前端代码:

"textBox"  Text="{Binding Name,Mode=OneWay}"  HorizontalAlignment="Center" Height="50" Width="300"  TextWrapping="Wrap" FontSize="24" VerticalAlignment="Center" />

后端代码:

  private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            u = new user();
            u.Name = "加载时候的名字";
            textBox.DataContext = u;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            u.Name = "点击时候的名字!";
        }

实现效果:

加载:

点击改变对象值按钮: