深入浅出WPF之Binding的使用(二)
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的使用(二)相关推荐
- 深入浅出WPF之Binding的使用(一)
from: http://www.cnblogs.com/akwwl/p/3421005.html 在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和 ...
- 深入浅出WPF学习笔记之Binding
深入浅出WPF之Binding Binding Binding基础 Binding模型 把控件作为Binding源与Binding标记扩展 Binding的(Path)路径 Binding支持多级路径 ...
- WPF的binding
深入浅出WPF之Binding的使用(一) 在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对 ...
- [转]深入浅出WPF(7)——数据的绿色通道,Binding
本文转自:http://liutiemeng.blog.51cto.com/120361/95273 小序: 怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单--自己 ...
- 《深入浅出WPF》笔记——绑定篇(一)
上一节,有记录写到:在WPF里,数据驱动UI,数据占核心地位,UI次之.怎么恢复数据的核心地位,那就要先了解一下Binding. 一.Binding 基础 1.1WPF中Data Binding的带来 ...
- 《深入浅出WPF》笔记——模板篇
原文:<深入浅出WPF>笔记--模板篇 我们通常说的模板是用来参照的,同样在WPF中,模板是用来作为制作控件的参照. 一.认识模板 1.1WPF菜鸟看模板 前面的记录有提过,控件主要是算法 ...
- 《深入浅出WPF》笔记——事件篇
如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...
- WPF之Binding的三种简单写法
环境 类代码 public class Person:INotifyPropertyChanged { private string name; public string Name { get { ...
- 深入浅出WPF——XAML的优点
深入浅出WPF--XAML的优点 正文: 2. XAML有哪些优点 前面一节已经向我们透露了XAML的几个优点: • XAML可以设计出专业的UI和动画--好用 • XAML不需要专业的编程知识,它 ...
最新文章
- Oracle 10.2.0.5.4 Patch Set Update (PSU) – Patch No: p12419392
- 五千万美元注资孵化器,ETC能实现绝地反击吗?
- 领英1000多个假账户被曝光,用AI生成假脸冒充真人发推销信息,已形成相关产业链...
- Linux驱动之混杂设备(misc)
- python类方法继承_对python中类的继承与方法重写介绍
- comet for java_java comet tomcat推送
- 问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新
- 开源jumpserver 堡垒机搭建
- 信息学奥赛一本通(1045:收集瓶盖赢大奖)
- Asp.Net 4.0 SEO增强之UrlRouting
- 你认识的老罗又回来了!罗永浩:我的创造力才刚刚开始猥琐发育
- 黄金周添堵 U-Mail邮件系统拒垃圾保畅通管理有序
- 如何将qq客服搬到我们的flex应用中
- 支付宝架构到底有多牛逼!原来是这样的,真的超乎想象~
- c语言程序设计与算法,程序设计与算法(一)C语言程序设计
- 华为手机序列号前三位_华为手机序列号怎么查询?
- [深度学习] fast-reid入门教程
- 华为2019年4月10日实习生笔试题
- 工商管理学python_工商管理专业以数据分析师为目标怎么样?
- python发送email
热门文章
- ssh服务器拒绝了密码 请再试一次 Xftp5连接失败
- sqlserver 存储过程 增加
- 关于java的关键字 transient
- 摘抄自知乎的redis相关
- 【转载】通过金矿模型介绍动态规划 (动态规划入门)
- Android 监控网络状态
- WinCE下监视设备插拔的参考代码
- 使用线程——创建线程
- 事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用(下)
- Go编程技巧--io.Reader/Writer