我有一个相当详细的用户控件由几个部分组成,这些部分有一个特定的蓝色主题应用于它们,但我想交换所有的网格/边框/矩形/等...颜色是基于DataContext中绑定的相同主题的绿色版本。
显然我可以为元素的每个Fill / Background属性使用转换器,但这看起来很烦人。
在我的转换器(或XAML)中,我可以以某种方式将Style
应用于我的用户控件,它只会设置我的元素的Fill / Background / etc ...属性,基本上应用颜色主题吗? / p>
答案 0 :(得分:1)
您可以将其设置为样式,使所有矩形都具有特定颜色。
在资源词典中我有:
<LinearGradientBrush x:Key="Windowsbackground" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0.259"/>
<GradientStop Color="#FF7691CD" Offset="1"/>
</LinearGradientBrush>
然后在我的用户控件中:
<UserControl x:Class="Test.Views.TestView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
MinHeight="300" MinWidth="300" Background="{DynamicResource Windowsbackground}">