WPF边框颜色绑定到父控件标记

时间:2016-10-06 04:46:10

标签: c# wpf

我有一个问题,我必须绑定到Tag属性。但不知道会发生什么。

<Border x:Name="BorderStatus" CornerRadius="2" Tag="Transparent">
    <Border.Background>
        <LinearGradientBrush>
            <GradientStop Color="{Binding Tag, ????}" Offset="0"/>
            <GradientStop Color="{Binding Tag, ????}" Offset="0.47"/>
            <GradientStop Color="Red" Offset="0.77"/>
            <GradientStop Color="DarkRed" Offset="1"/>
        </LinearGradientBrush>
    </Border.Background>
</Border>

这样做是因为有些触发器会改变标签属性。

我们可以与ElementName绑定,但还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

我能想到的两种实现目标的方法是:

予。使用Binding.ElementName属性:

Color="{Binding Tag, ElementName=BorderStatus}"

II。在RelativeSource模式下使用FindAncestor

Color="{Binding Tag, RelativeSource={RelativeSource FindAncestor, AncestorType=Border}}"