码迷,mamicode.com
首页 > Windows程序 > 详细

wpf绑定--学习笔记2

时间:2017-07-08 16:52:58      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:ack   log   height   pre   ane   event   logs   panel   bsp   

怎么实现一个绑定?一般的模式如下:

  • 定义一个viewMode类,派生自INotifyPropertyChanged。这个类是对view而言的,界面----数据。
  • 这个类中应该有对于于view中的数据的字段。
 private string _bindData = "aaa";
  • 同时还应该有对应于字段的属性,在XAML中的绑定部分就是绑定这个字段。
  public string BindData
        {
            get { return _bindData; }
            set
            {
                _bindData = value;
                OnPropertyChanged("BindData");
            }
        }

  这样当数据改变的时候,就是调用OnPropertyChanged方法。

  • 实现接口中的成员,INotifyPropertyChanged.
  • 新建一个方法:OnPropertyChanged;
    private void OnPropertyChanged(string propertyName)
            {
                PropertyChangedEventHandler handler = this.PropertyChanged;
                if (handler != null)
                {
                    handler(this, new PropertyChangedEventArgs(propertyName));
                }
            }
    PropertyChangedEventHandler 是一个委托。
    PropertyChangedEventArgs:保存消息的参数,派生自EventArgs,所有的evnet消息参数都派生于此。
    handler(this, new PropertyChangedEventArgs(propertyName));调用这个函数的时候会自动更新界面上与其绑定的控件的值。

 其对应的XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel>
        <TextBlock  Text="{Binding BindData, Mode=TwoWay}"></TextBlock>
        <Button Name ="textBox" Content="Btn1"  Margin="5" Command="{Binding ClickCommand}"></Button>
    </StackPanel>
</Window>

 

wpf绑定--学习笔记2

标签:ack   log   height   pre   ane   event   logs   panel   bsp   

原文地址:http://www.cnblogs.com/bingbingzhe/p/7137142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!