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

弗雷德

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

我有两个按钮:

<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父级的属性BorderBrushRelativeSource TemplatedParent

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

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

jQuery从值设置自定义属性

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

设置自定义属性

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在PhpStorm中设置自定义颜色

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

设置背景自定义颜色,XSSFWorkbook

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

    jQuery从值设置自定义属性

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

    设置自定义属性

  23. 23

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

  24. 24

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

  25. 25

    在PhpStorm中设置自定义颜色

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

    设置背景自定义颜色,XSSFWorkbook

热门标签

归档