from:    http://www.cnblogs.com/akwwl/p/3421250.html

在上一篇中介绍了Binding的基本绑定方法,这一篇中我们在深入的介绍Binding的其他用法。

  Binding的源也就是数据的源头,在日常的工作中,除了使用像上一篇中的Student对象作为数据源外,我们还有更多的选择,比如控件把自己或者自己的容器或子级元素当做源,用一个控件作为另一个控件的数据源等等。

   把控件作为Binding源。  

    <Grid><TextBox x:Name="Box" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,50,0,0"  Height="30" Width="200" Text="{Binding Path=Value,ElementName=Silder1,Mode=TwoWay}"/> <Slider x:Name="Silder1" HorizontalAlignment="Left" Margin="100,120,0,0" Maximum="100" Minimum="0"    VerticalAlignment="Top" Width="200"/></Grid>

  其中Text="{Binding Path=Value,ElementName=Silder1,Mode=TwoWay}"等价于C#代码:

  this.Box.SetBinding(TextBox.TextProperty, new Binding("Value") { Source=Silder1});

  或 Binding binding = new Binding() { Path = new PropertyPath("Value"), Source = Silder1 };

    this.Box.SetBinding(TextBox.TextProperty,binding);

  

  Binding还支持多级路径(通俗地将就是一路“点”下去)。比如,如果想让一个TextBox显示另外一个TextBox的文本长度,我们可以这么写:

    <Grid><TextBox x:Name="Box" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,50,0,0"  Height="30" Width="200" /> <TextBox x:Name="Box2" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,123,0,0"  Height="30" Width="200" Text="{Binding Path=Text.Length,ElementName= Box,Mode=OneWay}" /></Grid>

等于C#代码如下:  

  Binding binding = new Binding("Text.Length") { Source=Box,Mode=BindingMode.OneWay};
  this.Box2.SetBinding(TextBox.TextProperty,binding);

深入浅出WPF之Binding的使用(二)相关推荐

  1. 深入浅出WPF之Binding的使用(一)

    from:   http://www.cnblogs.com/akwwl/p/3421005.html 在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和 ...

  2. 深入浅出WPF学习笔记之Binding

    深入浅出WPF之Binding Binding Binding基础 Binding模型 把控件作为Binding源与Binding标记扩展 Binding的(Path)路径 Binding支持多级路径 ...

  3. WPF的binding

    深入浅出WPF之Binding的使用(一) 在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对 ...

  4. [转]深入浅出WPF(7)——数据的绿色通道,Binding

    本文转自:http://liutiemeng.blog.51cto.com/120361/95273 小序: 怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单--自己 ...

  5. 《深入浅出WPF》笔记——绑定篇(一)

    上一节,有记录写到:在WPF里,数据驱动UI,数据占核心地位,UI次之.怎么恢复数据的核心地位,那就要先了解一下Binding. 一.Binding 基础 1.1WPF中Data Binding的带来 ...

  6. 《深入浅出WPF》笔记——模板篇

    原文:<深入浅出WPF>笔记--模板篇 我们通常说的模板是用来参照的,同样在WPF中,模板是用来作为制作控件的参照. 一.认识模板 1.1WPF菜鸟看模板 前面的记录有提过,控件主要是算法 ...

  7. 《深入浅出WPF》笔记——事件篇

    如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...

  8. WPF之Binding的三种简单写法

    环境 类代码 public class Person:INotifyPropertyChanged { private string name; public string Name { get { ...

  9. 深入浅出WPF——XAML的优点

    深入浅出WPF--XAML的优点 正文: 2. XAML有哪些优点  前面一节已经向我们透露了XAML的几个优点: • XAML可以设计出专业的UI和动画--好用 • XAML不需要专业的编程知识,它 ...

最新文章

  1. Oracle 10.2.0.5.4 Patch Set Update (PSU) – Patch No: p12419392
  2. 五千万美元注资孵化器,ETC能实现绝地反击吗?
  3. 领英1000多个假账户被曝光,用AI生成假脸冒充真人发推销信息,已形成相关产业链...
  4. Linux驱动之混杂设备(misc)
  5. python类方法继承_对python中类的继承与方法重写介绍
  6. comet for java_java comet tomcat推送
  7. 问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新
  8. 开源jumpserver 堡垒机搭建
  9. 信息学奥赛一本通(1045:收集瓶盖赢大奖)
  10. Asp.Net 4.0 SEO增强之UrlRouting
  11. 你认识的老罗又回来了!罗永浩:我的创造力才刚刚开始猥琐发育
  12. 黄金周添堵 U-Mail邮件系统拒垃圾保畅通管理有序
  13. 如何将qq客服搬到我们的flex应用中
  14. 支付宝架构到底有多牛逼!原来是这样的,真的超乎想象~
  15. c语言程序设计与算法,程序设计与算法(一)C语言程序设计
  16. 华为手机序列号前三位_华为手机序列号怎么查询?
  17. [深度学习] fast-reid入门教程
  18. 华为2019年4月10日实习生笔试题
  19. 工商管理学python_工商管理专业以数据分析师为目标怎么样?
  20. python发送email

热门文章

  1. ssh服务器拒绝了密码 请再试一次 Xftp5连接失败
  2. sqlserver 存储过程 增加
  3. 关于java的关键字 transient
  4. 摘抄自知乎的redis相关
  5. 【转载】通过金矿模型介绍动态规划 (动态规划入门)
  6. Android 监控网络状态
  7. WinCE下监视设备插拔的参考代码
  8. 使用线程——创建线程
  9. 事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用(下)
  10. Go编程技巧--io.Reader/Writer