在WPF中如何使用RelativeSource绑定
原文: 在WPF中如何使用RelativeSource绑定

在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource。

这种办法的意思是指当前元素和绑定源的位置关系。

第一种关系: Self

举一个最简单的例子:在一个StackPanel中,有一个TextBlock。

<TextBlock FontSize="18" FontWeight="Bold" Margin="10" Background="Red" Width="80" Height="{Binding RelativeSource={RelativeSource Self},Path=Width}">MultiBinding Sample</TextBlock>

如果想让textbox的width和height相同,通过设置属性Height="{Binding RelativeSource={RelativeSource Self},Path=Width}" 就可以实现。

第二种关系:TemplatedParent

例如为一个Button写一个样式,修改Button为椭圆型。同时需要椭圆的背景色和Button的背景色相同。

<Style TargetType="{x:Type Button}"><Setter Property="Background" Value="Green"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Button}"><Grid><Ellipse><Ellipse.Fill><SolidColorBrush Color="{Binding Path=Background.Color,RelativeSource={RelativeSource TemplatedParent}}"/></Ellipse.Fill></Ellipse></Grid></ControlTemplate></Setter.Value></Setter></Style>

 在这个例子中 TemplateParent就是指的Button

第三种关系:AncestorType

指定绑定源为某个父元素

<Grid><Label Background = {Binding Path=Background, RelativeSource={RelativeSource AncestorType={x:Type Grid}}}/></Grid>

这个例子中Label的背景色和Grid的背景色一样。

posted on 2018-11-06 23:59 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9919791.html

在WPF中如何使用RelativeSource绑定相关推荐

  1. WPF中一个控件绑定另一个控件的属性

    原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...

  2. WPF 使用RelativeSource绑定

    WPF 使用RelativeSource绑定 在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource. 这种办法的意思是指当前元素和绑定源的位置关系. 第一种关系: Self ...

  3. WPF中如何将ListViewItem双击事件绑定到Command

    原文:WPF中如何将ListViewItem双击事件绑定到Command 今天的博客将介绍如何实现ListViewItem双击事件绑定到ViewModel中的Command.实现方法借助了Style中 ...

  4. Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)

    原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...

  5. 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数据转换...

    重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数据转换 原文: ...

  6. Wpf中通过绑定来更新textbox的值

    wpf中要动态的改变textbox的值需要通过绑定来实现,下面我就一步一步讲解如何绑定. 首先在MainWindow中定义了两个控件,一个button和一个textbox.并将这两个控件放在viewb ...

  7. 运行wpf_在WPF中一种较好的绑定Enums数据方法

    引言 在你使用wpf应用程序开发的时候,是否需要进行数据绑定到Enum数据呢?在这篇文章中,我将向你展示在WPF中处理Enum数据绑定的方法. 假设存在一个这样的Enum数据的定义,具体内容如下文代码 ...

  8. WPF中DatePiker值绑定以及精简查询

    WPF中DatePiker值绑定以及精简查询 1.WPF中DatePiker值绑定 Xaml中值绑定使用Text <DatePicker Text="{Binding strMinDa ...

  9. WPF中的命令与命令绑定(二)

    WPF中的命令与命令绑定(二)                                              周银辉 在WPF中,命令(Commanding)被分割成了四个部分,分别是IC ...

最新文章

  1. [导入]深入了解OpenOffice.org(二){作者:路广}
  2. 搜索推荐炼丹笔记:单网络内部集成学习
  3. Hystrix和ribbon的超时时长准确配置的理论依据
  4. 文献学习(part83)--An Embedding Approach to Anomaly Detection
  5. 动态规划_数字三角形
  6. 改革开放成就我 感谢祖国
  7. 七夕节:妹纸,找个程序员做男朋友吧!
  8. ADO.NET_05_OracleDataReader
  9. Java程序猿必须掌握的重点之一:Lock锁
  10. Camtasia 2020软件的媒体库介绍
  11. Thingsboard 3.1.0 - 远程控制和GPIO状态显示
  12. linux下串口工具minicom
  13. 抓取必应在线词典的英语音标
  14. 模式识别——第3章 判别函数法
  15. CAD怎么切换角度标注对象?CAD切换角标操作技巧
  16. 蓝牙资讯|苹果 AirPods Pro 2正式发布,有惊喜也有遗憾
  17. miss工作室官宣加盟新公司是真的吗
  18. python学习三-基础语法
  19. apmserv php 5.6,APMServ下载|APMServ 5.2.6 正式版下载-太平洋下载中心
  20. 239. 滑动窗口最大值

热门文章

  1. 新旧联名会员大PK,谁能更胜一筹?
  2. 平面设计中常用的6种排版构图方式广州协众信息
  3. 亚马逊、沃尔玛、eBay、wish的测评风险:源头控制与有效规避
  4. 中国天然气产业发展战略规划及十四五投资策略分析报告2022-2028年版
  5. QQ游戏怎么引流?如何利用QQ游戏引流让别人加你?
  6. 简书大佬的笔记:一篇文章带你详解 HTTP 协议(网络协议篇一)
  7. 分享10个珍藏很久的网站,我是真的舍不得啊!
  8. Java基础语法-03
  9. mysql按课程报名人数排序_sql 语句排序 在查询结果中按人数降序排列,若人数相同,则按课程号升序排列?...
  10. “微风”团队的人员结构