WPF学习之INotifyPropertyChanged(学习记录)

1.先新建一个ViewModelBase类,继承于INotifyPropertyChanged接口类:

namespace leason2
{
    public class ViewModelBase : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged([CallerMemberName] string propertyName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

MainViewModel类继承于ViewModelBase类,定义两个属性,分别在set块中加入OnPropertyChanged():

namespace leason2
{
    public class MainViewModel : ViewModelBase
    {
        public MainViewModel()
        {
            ShowCommand = new MyCommand(Show);
        }

        private string m_name;
        public string Name
        {
            get { return m_name; }
            set
            {
                m_name = value;
                OnPropertyChanged();
            }
        }

        private string m_title;
        public string Title
        {
            get { return m_title; }
            set
            {
                m_title = value;
                OnPropertyChanged();
            }
        }

        public MyCommand ShowCommand { get; set; }

        public void Show()
        {
            Name = "点击了按钮";
            Title = "我是标题";
        }
    }
}

Mainwindow.xaml中绑定上述两个属性:


    <Grid>
        <StackPanel>
            <TextBox Text="{Binding Name}"/>
            <TextBox Text="{Binding Title}"/>
            <Button Command="{Binding ShowCommand}"/>
        </StackPanel>
    </Grid>

点击按钮,实现Show方法后,TextBox实现打印两个属性文字打印。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值