WPF——数据绑定及属性改变事件

一、首先需要封装一下文本框的属性,并且在实体类中添加一个实体类的属性改变函数

 public class User : INotifyPropertyChanged //INotifyPropertyChanged接口是 WPF/Silverlight 开发中非常重要的接口, 它构成了 ViewModel 的基础, 数据绑定基本上都需要这个接口。
    {
        private string _Wenben;

        public string Wenben
        {
            get { return _Wenben; }
            set 
            { 
                _Wenben = value;
                OnPropertyChanged("Wenben");    //调用属性改变函数,将Wenben扔进去来改变它  
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        //PropertyChangedEventHandler 事件委托。
        //所谓“事件委托”,一个事件的本质是一个委托(因为事件是委托类型的)。
        //而委托的好处在于它可以动态调用不同类之间(即跨类调用)具备相同函数签名(函数参数顺序、类型、个数相同),且函数返回值必须完全相同的函数。
        public virtual void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }

二、然后当点击按钮的时候文本便会改变了,前提先让文本框1绑定一下数据源是Wenben

 public partial class MainWindow : Window
    {
        User  u = new User(); //先引用实体类User,并且实例化出u
        public MainWindow()
        {
            InitializeComponent();
            TextBox1.DataContext = u; //文本框1的数据源是实体类u
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
           //点击按钮进行实体类u的属性改变
            u.Wenben = DateTime.Now.ToString("HH:mm:ss.fff");    //DateTime.Now.ToString("HH:mm:ss.fff");   时间(显示到毫秒)     
        }
    }

posted @ 2015-06-28 22:54  XCml  阅读(3224)  评论(0编辑  收藏  举报