WPF数据绑定中的RelativeSource属性
一、简介
一个在Binding中比较重要的知识点——RelativeSource. 使用RelativeSource对象指向源对象。用这个可以在当前元素的基础上查找其他对象用于绑定到源对象。
在实际使用Binding的过程中大部分时间Binding都放在了数据模板和控件模板中,(数据模板是控件模板用于定义控件的UI)。
在模板中编写Binding时有时候无法直接拿到我们需要绑定的数据对象,我们不能确定我们需要的Source对象叫什么,但是我们直到了我们需要使用的对象在UI布局上的相对关系。比如控件自己关联了某个数据,关键自己某个层级的容器数据。这个时候我们的RelativeSource就派上了用场。我们使用RelativeSource首先要3个关键参数。
AncestorType=我们需要查找的类型。比如Grid
AncestorLevel= 我们需要向上查找几级。
Path=我们找到的元素需要绑定的属性。
二、代码
三、运行结果 【WPF数据绑定中的RelativeSource属性】我们嵌套几个Grid,并在每个嵌套的Grid中都放入了一行文本用来显示自己所在的位置。设置了Margin使他有部分的重叠,可以更好的看到相互之间的层级关系。最内层使用一个TextBlock.在TextBlock的Text属性上使用RelativeSource。通过修改AncestorLevel 来设置向上查找Grid的等级。我们设置为1.向外层查找第一个找到的Grid对象。并绑定对应的Name。
文章图片
到此这篇关于WPF数据绑定RelativeSource属性的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- WPF数据驱动修改绑定
- Win8.1系统下如何打开计划数据收集器的技巧
- Android传统HTTP请求get----post方式提交数据(包括乱码问题)
- WPF中的StackPanelWrapPanelDockPanel(转)
- java|监视器java_Java监视器绑定的超人
- Android中使用BufferedReader.readline阻塞读取不到数据,但是ready返回true
- Django数据库迁移
- Django数据库连接
- #|基于腾讯云的物联网云端数据传输-STM32F103C8T6(微信小程序显示数据).一
- Dart和Flutter数据结构用法示例综合指南