【WPF】七、通知更改INotifyPropertyChanged

首先要继承INotifyPropertyChanged

简单方式在赋值的时候调用PropertyChanged


namespace WpfApp1
{
    public class MainViewModel:INotifyPropertyChanged
    {
        public MyCommand ShowCommand { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;

        public string Name
        {
            get { return name; }
            set { name = value;
                //通知客户端内容更改的方式一种
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name")); 
                    }
        }

        public string name;

        public MainViewModel()
        {
            Name = "Hello World";
            ShowCommand = new MyCommand(Show);
        }


        public void Show()
        {
            Name = "点击了Button";
            MessageBox.Show(Name);

        }
    }
}

方式二:自动绑定

封装一个事件调用OnPropertyChanged
 
namespace WpfApp1
{
    public class MainViewModel:INotifyPropertyChanged
    {
        public MyCommand ShowCommand { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;

        public void OnPropertyChanged([CallerMemberName]string propertyName="")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }

        public string Name
        {
            get { return name; }
            set { name = value;
                //通知客户端内容更改的方式一种
                OnPropertyChanged();
                    }
        }

        public string name;
          
        public MainViewModel()
        {
            Name = "Hello World";
            ShowCommand = new MyCommand(Show);
        }


        public void Show()
        {
            Name = "点击了Button";
            MessageBox.Show(Name);

        }
    }
}

 

本文作者:xxxyz

本文链接:https://www.cnblogs.com/xxxyz/p/16654438.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   xxxyz  阅读(145)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起