首页 > Windows开发 > 详细

wpf风格的数据绑定------WPF

时间:2015-09-28 15:57:00      阅读:208      评论:0      收藏:0      [点我收藏+]

数据绑定,首先要有个对象。。。

 //反正规定继承并实现这个接口,具体为什么,网上的帖子和书上说的太绕口。。反正也记不得,不如不记
   
    class Person:INotifyPropertyChanged
    {
        string name;
        public string Name { 
            get {return this.name;}
            set { name = value; }
            }

        int age;
        public int Age 
        {
             get {return this.age;}
             set { age = value; }
        }

        //有参的构造函数
        public Person(string name,int age) 
        {
            this.name = name;
            this.age = age;
        }

        public Person();

        //接口里定的一个事件,意思是属性发生改变时
       public  event PropertyChangedEventHandler PropertyChanged;
        //用一个方法,来触发这个事件
        protected void Notify(string name)
        {
            if (PropertyChanged!=null)
            {
                PropertyChanged(this,new PropertyChangedEventArgs(name));
            }
        }

    }

这个类很简单,总共两个属性和两个构造函数。。。。。那个事件可以不看,这边没有用到,懂事件的应该知道要怎么用

 

 

绑定数据,就一点要设置数据源。在wpf中,这个数据源可以在前台写,也可以在后台写。。。。。

但是,我觉得前台写死一个数据源没有必要,而且也不灵活。。所以不怎么感兴趣

 

下面是后台绑定数据源的方法,,,这里有两部分代码。。

前台:

<Window x:Class="mytest.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"
        xmlns:local="clr-namespace:mytest"
        >
     <!--上面这个local是自己定义的,,,但是后面的参数,是一个命名空间-->
    
    <!--注意以下所有标签的name属性,和binging-->
    <Grid Name="g1">
    <TextBox Name="but" Text="{Binding Path=Name}" Width="150" Height="30" Margin="11,104,355,186" />
    <TextBox Name="but1" Text="{Binding Path=Age}" Width="150" Height="30" Margin="11,10,357,280" />
    </Grid>

</Window>

后台:

  Person person = new Person("sssss", 13);
        public MainWindow()
        {
            InitializeComponent();
            this.but.DataContext = person;//只写这个,那么只有一个textbox被绑定值

            this.but1.DataContext = person;//只写这个,那么也只有一个textbox被绑定值

            this.g1.DataContext = person;//只写这个,两个textbox都会被设定值,因为Grid是两个textbox的父级标签,
                                        //在它上面设置数据源后,它的子级标签都可以享受数据源
              
         
        }

 

  

 

wpf风格的数据绑定------WPF

原文:http://www.cnblogs.com/xiaoleye/p/4843970.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!