使用自定义属性值在模板中设置颜色

弗雷德

我不知道为什么这不起作用:

我有两个按钮:

<Button Content="qwerty" BorderBrush="Tomato">
<Button Content="dvorak">

我用这种样式调整这些按钮的外观:

<Style TargetType="Button">
        <Setter Property="BorderBrush" Value="DarkRed" />
        <Setter Property="Template">         

            <Setter.Value>
                <ControlTemplate TargetType="Button">                    
                    <Border x:Name="RootElement" CornerRadius="4">
                        <Border.Background>
                            <SolidColorBrush x:Name="BorderBrush" Color="{TemplateBinding BorderBrush}" />
                        </Border.Background>
 ...

第一个按钮应该将颜色x:Name="BorderBrush"设置为“西红柿”,因为我在按钮定义中指定了颜色

第二个按钮没有BorderBrush="..."指定,因此应使用默认颜色DarkRed<Setter Property="BorderBrush" Value="DarkRed" />

但是它根本不使用任何颜色。

如果我像这样对颜色进行硬编码<SolidColorBrush x:Name="BorderBrush" Color="DarkRed" />,那么它就可以了,但这不好,因为我需要能够在按钮定义中设置颜色。

nemesv

BorderBrush是物业持有Brush的对象,但你尝试将其绑定到Color的属性SolidColorBrush,不能工作。

您需要使用边框TemplateBindingBackground属性:

<Border x:Name="RootElement" CornerRadius="4" 
       Background="{TemplateBinding BorderBrush}">

作为一种替代解决方案,您可以绑定Color父母的财产BorderBrush与使用的帮助RelativeSource TemplatedParent

<Border.Background>
    <SolidColorBrush x:Name="BorderBrush" 
      Color="{Binding RelativeSource={RelativeSource TemplatedParent}, 
                      Path=BorderBrush.Color}" />
</Border.Background>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用自定义属性值在模板中设置颜色

来自分类Dev

在PhpStorm中设置自定义颜色

来自分类Dev

jQuery从值设置自定义属性

来自分类Dev

访问模板 html 模板中的自定义属性

来自分类Dev

如何使用在matplotlib中设置的自定义数字来自定义栏中的颜色?

来自分类Dev

通过自定义属性设置特定属性的值

来自分类Dev

有什么方法可以在Kendo网格自定义弹出模板中设置默认值?

来自分类Dev

如何在C ++中设置Actor的“渲染自定义深度传递”和“深度模板值”?

来自分类Dev

如何在angularjs自定义指令的模板中获取属性值?

来自分类Dev

为什么我的“自定义用户控件属性”值与XAML中设置的值不匹配?

来自分类Dev

设置自定义属性

来自分类Dev

如何在图表中设置自定义填充颜色

来自分类Dev

如何在 amCharts 中设置自定义数据颜色

来自分类Dev

在样式设置器中设置自定义附加属性

来自分类Dev

使用自定义绘图在Win32 API中设置按钮文本颜色

来自分类Dev

如何使用属性设置自定义UITypeEditor的属性

来自分类Dev

WPF根据自定义属性的值设置CustomControl样式

来自分类Dev

从滑块jquery ui中的元素数据属性设置自定义值

来自分类Dev

以编程方式更新WooCommerce产品中设置的自定义属性值

来自分类Dev

在自定义结构中将值设置为Objective-C中的属性

来自分类Dev

从滑块jquery ui中的元素数据属性设置自定义值

来自分类Dev

AngularJS:使用angular属性指令将元素包装到自定义模板中

来自分类Dev

模板可以与 Aurelia 中的自定义属性一起使用吗?

来自分类Dev

如何使用自定义适配器将数组中的值设置为列表视图,并为行赋予不同的颜色

来自分类Dev

获取要在自定义属性中使用的属性值

来自分类Dev

自定义属性以使用空值过滤属性

来自分类Dev

获取要在自定义属性中使用的属性值

来自分类Dev

设置背景自定义颜色,XSSFWorkbook

来自分类Dev

自定义附加属性的模板绑定

Related 相关文章

  1. 1

    使用自定义属性值在模板中设置颜色

  2. 2

    在PhpStorm中设置自定义颜色

  3. 3

    jQuery从值设置自定义属性

  4. 4

    访问模板 html 模板中的自定义属性

  5. 5

    如何使用在matplotlib中设置的自定义数字来自定义栏中的颜色?

  6. 6

    通过自定义属性设置特定属性的值

  7. 7

    有什么方法可以在Kendo网格自定义弹出模板中设置默认值?

  8. 8

    如何在C ++中设置Actor的“渲染自定义深度传递”和“深度模板值”?

  9. 9

    如何在angularjs自定义指令的模板中获取属性值?

  10. 10

    为什么我的“自定义用户控件属性”值与XAML中设置的值不匹配?

  11. 11

    设置自定义属性

  12. 12

    如何在图表中设置自定义填充颜色

  13. 13

    如何在 amCharts 中设置自定义数据颜色

  14. 14

    在样式设置器中设置自定义附加属性

  15. 15

    使用自定义绘图在Win32 API中设置按钮文本颜色

  16. 16

    如何使用属性设置自定义UITypeEditor的属性

  17. 17

    WPF根据自定义属性的值设置CustomControl样式

  18. 18

    从滑块jquery ui中的元素数据属性设置自定义值

  19. 19

    以编程方式更新WooCommerce产品中设置的自定义属性值

  20. 20

    在自定义结构中将值设置为Objective-C中的属性

  21. 21

    从滑块jquery ui中的元素数据属性设置自定义值

  22. 22

    AngularJS:使用angular属性指令将元素包装到自定义模板中

  23. 23

    模板可以与 Aurelia 中的自定义属性一起使用吗?

  24. 24

    如何使用自定义适配器将数组中的值设置为列表视图,并为行赋予不同的颜色

  25. 25

    获取要在自定义属性中使用的属性值

  26. 26

    自定义属性以使用空值过滤属性

  27. 27

    获取要在自定义属性中使用的属性值

  28. 28

    设置背景自定义颜色,XSSFWorkbook

  29. 29

    自定义附加属性的模板绑定

热门标签

归档