WPF绑定各种数据源之元素控件属性

简介:

一、WPF绑定各种数据源索引

WPF 绑定各种数据源之Datatable

WPF绑定各种数据源之object数据源

WPF绑定各种数据源之xml数据源

WPF绑定各种数据源之元素控件属性

WPF 绑定基础

二、WPF绑定各种数据源之元素控件属性

1.绑定Value路径

<TextBlock Margin= "327,378,331,363"  Name= "textBlock1"   Text= "{Binding ElementName=slider1, Path=Value}"   />
  <Slider Height= "22"  Minimum= "0"  Maximum= "100"  HorizontalAlignment= "Left"  Margin= "135,346,0,0"  Name= "slider1"  VerticalAlignment= "Top"  Width= "100"  />

与上面等效的C#代码如下:

textBlock1.SetBinding(TextBlock.TextProperty, new  Binding() { Path = new  PropertyPath( "Value" ), Source = slider1});

效果图:

 

2、绑定到Text.Length路径

XAML:

<TextBox Height= "23"  HorizontalAlignment= "Left"  Margin= "37,48,0,0"  Name= "textBox1"  Text= "{Binding Path=Text.Length, ElementName=textBox2, Mode=OneWay}"
                 VerticalAlignment= "Top"  Width= "120"  />
  <TextBox Height= "23"  HorizontalAlignment= "Left"  Margin= "37,92,0,0"  Name= "textBox2"  VerticalAlignment= "Top"  Width= "120"  />

与上面等效的C#代码如下:

textBox1.SetBinding(TextBox.TextProperty, new  Binding() { Path = new  PropertyPath( "Text.Length" ),Source = textBox2, Mode=BindingMode.OneWay});

3、绑定到索引器

<TextBox Height= "23"  HorizontalAlignment= "Left"  Margin= "37,48,0,0"  Name= "textBox1"  Text= "{Binding Path=Text.[2], ElementName=textBox2, Mode=OneWay}"
                  VerticalAlignment= "Top"  Width= "120"  />
<TextBox Height= "23"  HorizontalAlignment= "Left"  Text= "Work Hard"   Margin= "37,92,0,0"  Name= "textBox2"  VerticalAlignment= "Top"  Width= "120" />

此处等效的C#代码略

4、如果Binding的源是集合时,使用默认元素当Path使用,则语法如下

List< string > strCityList = new  List< string >() { "Hangzhou" , "Shanghai" , "Beijing"  };
textBox3.SetBinding(TextBox.TextProperty, new  Binding( "/" ) { Source = strCityList });
textBox4.SetBinding(TextBox.TextProperty, new  Binding( "/Length" ){Source = strCityList, Mode = BindingMode.OneWay});
textBox5.SetBinding(TextBox.TextProperty, new  Binding( "/[3]" ) { Source = strCityList, Mode = BindingMode.OneWay });

效果图如下:

               

 

5.没有Path的绑定

这是一种特殊的情况,Binding源本身就是数据且不需要Path来指明,string、int等基本类型就是这样,他们本身就是数据,无法指出通过那个属性访问这个数据,这时我们只需将Path设置成"."就可以了。请看下面的代码:

<Window.Resources>
     <sys:String x:Key= "myStr" >
         Work Hand Work Smart
     </sys:String>
</Window.Resources>

XAML:

<TextBox Height= "23"  HorizontalAlignment= "Right"  Margin= "0,65,199,0"  Text= "{Binding Path=. ,Source={StaticResource ResourceKey=myStr}, Mode=OneWay}"   Name= "textBox6"  VerticalAlignment= "Top"  Width= "141"  />

 下面的代码可以写成Text="{Binding Path=. ,Source={StaticResource ResourceKey=myStr}, Mode=OneWay}" 或Text="{Binding Source={StaticResource ResourceKey=myStr}, Mode=OneWay}"

 


本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/09/06/2168600.html,如需转载请自行联系原作者

目录
相关文章
WPF—多重绑定和跨层级绑定
WPF—多重绑定和跨层级绑定
|
C# 数据格式 XML
WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树)
原文:WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树) 一、WPF对象级(Window对象)资源的定义与查找 实例一: StaticR...
8040 0
|
9月前
|
C# 数据库
WPF中DataGrid控件绑定数据源
WPF中DataGrid控件绑定数据源
117 0
|
12月前
|
C#
WPF更新绑定字段
WPF更新绑定字段
70 0
|
前端开发 C#
WPF 之 数据与命令绑定 (MVVM方式)
WPF 之 数据与命令绑定 (MVVM方式)
160 0
WPF 之 数据与命令绑定 (MVVM方式)
|
C#
WPF 绑定父类属性
原文:WPF 绑定父类属性 1.绑定父控件的属性. 1 2 3 4 5 6 7 8 9 发现问题,父控件的属性如果是后期加载的,别如说Width或者Height不是固定的数值,那么绑定时没有效果的。
1229 0
|
C# 前端开发
WPF如何得到一个在用户控件内部的元素的坐标位置
原文:WPF如何得到一个在用户控件内部的元素的坐标位置 例如有这样一个用户控件: 这是主窗口: ...
1367 0
|
C# 前端开发
wpf中的datagrid绑定操作按钮是否显示或者隐藏
如图,需要在wpf中的datagrid的操作那列有个确认按钮,然后在某些条件下确认按钮可见,某些情况下不可见的,放在mvc里直接在cshtml页面中if..else就行了。 但是在wpf里不行。。网上搜索了好久才找到解决方法,原来只是binding那个visiable属性就行了,
6845 0
|
C#
WPF—TreeView无限极绑定集合形成树结构
原文:WPF—TreeView无限极绑定集合形成树结构 1.如图所示:绑定树效果图   2.前台Xaml代码:                                                                                          ...
1222 0
|
前端开发 C#
WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参
原文:WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参 ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Bind...
3246 0