Binding的源可以是控件(一个控件是另一个控件的Source、控件把自己的容器作为Source),把集合作为ItemsControls的Source,把xml作为Tree或者Menu的Source,或者是不给它Source,让他自己去找。

  1. 一个控件为另一个控件的Source
<TextBox x:Name="textBox" Text="{Binding Value,ElementName=slider1}" BorderBrush="Black"  Margin=""/>
<Slider x:Name="slider1" Maximum="" Minimum="" Margin=""/>
这是两个控件Slider是TextBox的Source
这里是通过xaml语言设置的Binding,这里是Binding的标记扩展语法。等价于的C#语句为
this.textBox1.SetBinding(TextBox.TextProperty,new Binding("Value"){ElementName="Slider1"});
(Text等价于TextBox.TextProperty;(这个是Target). Binding Value=new Binding("Value"(这个是Path(Slide1的属性)).ElementName这个是source)

  • Path

Binding的路径支持多级路径,比如上面访问的Path是Value的属性,那么Path下面的次级路径。

Binding的路径还可以通过索引器来作为Path,比如:上面的Path是Value的属性(如果这个Value是一个集合),那么Path也可以是Value[1]来获取集合的第二个对象

Binding的路径还可以通过多级斜线的语法去寻找多级目录下面需要的Path,对应的栗子如下:

class City
{
public string Name { get; set; } }
class Province
{
public string Name { get; set; }
public List<City> CityList { get; set; }
}
class Country
{
public string Name { get; set; }
public List<Province> ProvinceList { get; set; }
}
      List<Country> countryList=new List<Country>{new Country(){Name="中国"}};
List<string> List=new List<string>(){"Tim","Tom","Blog"};
this.textBox1.SetBinding(TextBox.TextProperty,new Binding("/"){Source=List});
this.textBox2.SetBinding(TextBox.TextProperty,new Binding("/Length") {Source=List,Mode=BindingMode.OneWay});
this.textBox3.SetBinding(TextBox.TextProperty,new Binding("/[2]") {Source=List,Mode=BindingMode.OneWay});
  • 不带Path的Binding(Binding源本身就是数据,比如放在Resource中的文本,或者一些不属于任何对象的数值)如下,栗子如下

<StackPanel.Resources>
<sys:String x:Key="myString">
不带Path的Binding
</sys:String>
</StackPanel.Resources><TextBlock x:Name="textBlock1" TextWrapping="Wrap" Text="{Binding Path=.,Source={StaticResource ResourceKey=myString}}" FontSize="" Margin=""/>

Binding的Path(路径)的更多相关文章

  1. Linux下修改PATH路径

    1.#PATH=$PATH:/opt/lamp/mysql/bin       使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 2.#vi /etc/profi ...

  2. Linux系统下修改环境变量PATH路径的三种方法

    这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操 ...

  3. 如何修改Window系统下PATH路径以及win8下masm32V11

    如何修改Window系统下PATH路径   //其实这个都是临时性的, 退出dos窗口就没有用了,只是做个笔记罢了   C:\Users\Administrator>    set path=E ...

  4. [转]sudo找不到命令:修改sudo的PATH路径

    sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑.其实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因 ...

  5. 刚开始学java和刚去工作的时候,1.path路径 2.classpath路径 还有JAVA_HOME相当于/dgs这个路径

    把里面bin文件夹下面的可执行文件都配置到path路径下了,以后只要在Dos窗口输入命令就可以运行 无论是在dos窗口下还是在eclispe中只需要配置这个path变量,不需要配置classpath ...

  6. 沿着path路径做动画

    沿着path路径做动画 路径 效果 源码 // // ViewController.m // PathAnimation // // Created by YouXianMing on 16/1/26 ...

  7. Python之os.path路径模块中的操作方法总结

    #os.path模块主要集成了针对路径文件夹的操作功能,这里我们就来看一下Python中的os.path路径模块中的操作方法总结,需要的朋友可以参考下 解析路径路径解析依赖与os中定义的一些变量: o ...

  8. svg(1) path路径

    注: 笔记来自于http://www.jb51.net/html5/72250.html  以及http://blog.csdn.net/u013291076/article/details/2707 ...

  9. 03-Node.js学习笔记-系统模块path路径操作

    3.1为什么要进行路径拼接 不同操作系统的路径分隔符不统一 /public/uploads/avatar window 上是 \ / 都可以 Linux 上是 / 3.2路径拼接语法 path.joi ...

随机推荐

  1. mumu 连接安卓studio

    近期开发一个项目,折腾了好久,编写完程序后,真机上运行没有异常,而在MuMu模拟器上运行,程序总是中断(MuMu模拟器连接不上,只能打包好apk再放到MuMu上测试,有点蠢萌...),没办法调试,就获 ...

  2. IDEA下载安装及绿色方法

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  3. Visual Studio Code-Vscode下快速补全新建HTML文件默认代码

    1.新建文件. 2.点击右下角文档格式:纯文本,上方弹出框输入HTML改成 html文档格式. 3.输入“ !”,按tab. 4.完成.

  4. Haskell 安装

    1.Ubuntu 安装过程中出现了一些问题: 1)W: An error occurred during the signature verification. The repository is n ...

  5. HTML头信息标签和标题标签

    <html> <!-- 头信息的作用 1. 可以设置网页的标题. 2. 可以通知浏览使用指定的码表解释html页面. --> <head> <meta htt ...

  6. NDK的环境配置

    http://www.androiddevtools.cn/ 下载NDK, 最新版本. 解压压缩包,如解压后文件夹名为如android-ndk-r13,放在指定的位置 配置环境变量: 系统环境path ...

  7. 使用sql developer 导出Oracle数据库中的表结构

    MS SQLServer的客户端工具做的的确比较好,直接右键,导出数据库就OK了,而且MS的客户端导出的是xxx.dbf文件,直接附加到别的数据库上就OK了 Oracle的sql developer就 ...

  8. 注册 Ironic 裸金属节点并部署裸金属实例

    目录 文章目录 目录 前文列表 注册(Enrollment)裸机 创建裸金属实例的 Flavor 部署裸金属实例 日志分析 问题:Failed to create neutron ports for ...

  9. 如何使用Pythonapi函数写股票策略

    如何使用Python api 函数写股票策略 写策略需要了解的语法包括两方面,一方面是语言本身的语法(包括相关库),另一方面是量化平台提供的api.量化平台提供的api帮助文件里都有了,本文主要介绍写 ...

  10. "UICollectionView实现带头视图和组的头视图同时存在"实现

    实现效果如下: 以前做这效果的界面,总是实现的是section的头视图,因为我一直觉得collectionView是不像UITableView那样有tableHeaderView的,所以每次实现只能是 ...