相关文章推荐
八块腹肌的眼镜  ·  Qt 在QSS中设置 ...·  1 周前    · 
威武的灯泡  ·  QT tabWidget ...·  1 周前    · 
魁梧的卤蛋  ·  "background": { ...·  5 天前    · 
无邪的斑马  ·  HQL排序查询 --- ...·  11 月前    · 
幸福的帽子  ·  matplotlib inline ^ ...·  1 年前    · 
稳重的啤酒  ·  使用QProcess ...·  1 年前    · 

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}">
                            <Ellipse>
                                <Ellipse.Fill>
                                    <SolidColorBrush Color="{Binding Path=Background.Color,RelativeSource={RelativeSource TemplatedParent}}"/>
                                </Ellipse.Fill>
                            </Ellipse>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

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

第三种关系:AncestorType
指定绑定源为某个父元素

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

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

WPF 使用RelativeSource绑定在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource。这种办法的意思是指当前元素和绑定源的位置关系。第一种关系: Self举一个最简单的例子:在一个StackPanel中,有一个TextBlock。&lt;TextBlock FontSize="18" FontWeight="Bold" Margin="10" Background="Red" Width="80" Height="{Binding RelativeSourc
我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding的RelativeSource进行绑定,这种办法的意思是指当前元素和绑定源的位置关系。 (1)控件关联自身的属性——Self &lt;Window x:Class="RelativeSource...
一、WPF数据绑定的概要 数据绑定:是应用程序 UI 与业务逻辑之间建立连接的过程。 如果绑定正确设置并且数据提供正确通知,则当数据的值发生更改时,绑定到数据的视觉元素会自动反映更改。 数据绑定可能还意味着如果视觉元素中数据的外部表现形式发生更改,则基础数据可以自动更新以反映更改。 例如:如果用户编辑 TextBox 元素中的值,则基础数据值会自动更新以反映该更改。 1. 数据绑定涉及到两个方面: 一个是绑定源,一个是绑定目标。绑定源即控件绑定使用的源数据,绑定目标即数据显示的控件。 2. 对于绑定源,在WPF可以是以下四种: •CLR对象:可以绑定到CLR类的公开的属性、子属
如何使用 StaticResources、DynamicResources 相互绑定属性,尽管您可以找到有关 RelativeSource 及其用例的信息,但即使在 Microsoft 文档中也没有更多详细信息。在本文中,我将公开 WPF 中 RelativeSources 的用例。 当我们尝试将给定对象的属性绑定到对象本身的另一个属性时,当我们尝试将对象的属性绑定到其相对父对象的另一个属性时,RelativeSource 是一种标记扩展,用于特定的绑定情况,在自定义控件开发的情况下以及最后在使用一系列绑
&lt;Binding&gt; &lt;Binding.RelativeSource&gt; &lt;RelativeSource Mode="modeEnumValue"/&gt; &lt;/Binding.RelativeSource&gt;
今天看了一些wpf  关于binding的知识,其中一个是element path形式,这种形式相对简单,而source path 则稍微复杂,刚开始看的时候,觉得RelativeSource  path是看不懂,后来看了一些例子才知道它的作用,是banding自身或与自身相关的数据。 binding的东西有Self  FindAncestor    PreviousData   Templat
  前端路由是什么?如果你之前从事的是后端的工作,或者虽然有接触前端,但是并没有使用到单页面应用的话,这个概念对你来说还是会很陌生的。那么,为什么会在单页面应用中存在这么一个概念,以及,前端路由与我们后端的路由有什么异同呢。本章,我们就来简单介绍下前端路由的概念,以及如何在 Vue 中使用 Vue Router 来实现我们的前端路由。   学习系列目录地址:https://www....