WPF 数据绑定[1]
2009-12-21 09:31
337 查看
手上资料有点凌乱,整理一下:
1、所有的绑定都是从 Binding 这个类开始的,最原始的绑定方式:
2、相对于在后台cs文件中的代码,其实在前台的XAML也是可以进行设置的:
3、在XAML中,还可以使用静态资源进行数据绑定,具体整理见下一节
1、所有的绑定都是从 Binding 这个类开始的,最原始的绑定方式:
Binding bd = new Binding(); //数据来源对象 bd.Source = this.text1; //数据的具体来源对象的属性 /* 由于WPF是树状的,所以对于某些包含子对象的来源对象,设置Path的时候,要具体到子对象的属性,比如:TreeView的SelectedItem子对象的Header 这时: bd.Source = this.treeView1; bd.Path = new PropertyPath("SelectedItem.Header"); */ bd.Path = new PropertyPath("Text"); //使用将数据邦定到的目标对象的方法进行绑定 //其中,第一个参数是要绑定的目标属性,是一个[依赖属性] /* 其实绑定都是使用ContentControl的SetBinding方法 */ this.text2.SetBinding(TextBox.TextProperty, bd); /* 相对于不Binding类来说,还有一个BindingOperation,使用这个类的静态方法SetBinding也是可以进行相同的数据邦定,两种方式的主要区别在于,BindingOperation类的SetBinding的第一次参数是目标对象,也就是上面的this.text2,只是这个参数不一定是控件。 */ BindingOperation.SetBinding(this.text2,TextBox.TextProperty, bd); /* 同时BindingOperation还可以用于清除已经实施的绑定 */ BindingOperation.ClearBinding(this.text2,TextBox.TextProperty); BindingOperation.ClearBindings(this.text2);
2、相对于在后台cs文件中的代码,其实在前台的XAML也是可以进行设置的:
<Grid> <StackPanel Orientation="Vertical"> <TextBox x:Name="text1" ></TextBox> <TextBox x:Name="text2" ></TextBox> <!--三种不同的书写格式,来源对象都是text1,都是对目标对象的Text进行设置--> <TextBox x:Name="text3" Text="{BindingElementName=text1,Path=Text}"> </TextBox> <TextBox x:Name="text4" Text="{Binding Text,ElementName=text1}"></TextBox> <TextBox x:Name="text5"> <TextBox.Text> <Binding ElementName="text1" Path="Text"/> </TextBox.Text> </TextBox> </StackPanel> </Grid>
3、在XAML中,还可以使用静态资源进行数据绑定,具体整理见下一节
相关文章推荐
- WPF中,ListBox与数据间的绑定
- WPF中,怎么在后台代码进行数据绑定
- wpf 绑定数据无法更新ui控件可能存在的问题
- WPF 数据绑定 定制一个集合的视图 数据提供程序
- wpf 绑定数据无法更新ui控件可能存在的问题
- wpf学习-根据绑定数据有条件地改变元素的属性
- WPF学习笔记 - 数据绑定(在代码中)
- wpf绑定用户控件及listview(gridview)数据源
- WPF 与Surface 2.0 SDK 亲密接触 - ScatterView 数据绑定篇
- 实现WPF元素同CLR元素的数据绑定的一般步骤
- VS2008 WPF ListView绑定数据结果DataSet
- WPF and Silverlight 学习笔记(二十):WPF数据绑定概述
- WPF学习之 数据绑定
- WPF之数据绑定总结
- 细说WPF数据绑定
- WPF中的数据绑定
- Wpf基础之数据绑定
- WPF学习之数据绑定
- WPF常用数据绑定控件集合
- WPF中DataGrid使用自定义列绑定数据