我有一个包含很多主题的控件,每个主题都由一个 ResourceDictionary 表示。问题是字典几乎相同,它们仅在我声明颜色画笔的开头有所不同,例如:
<SolidColorBrush x:Key="FirstRd1" Color="#3F555555" />
<SolidColorBrush x:Key="SecondRd1" Color="#00000000" />
<SolidColorBrush x:Key="ThirdRd1" Color="#FF333333" />
<SolidColorBrush x:Key="FourthRd1" Color="#FF000000" />
这些画笔(以及其他用于样式的 xaml 对象)在同一个地方到处使用,如下所示:
<!-- ResourceDictionary 1 -->
<Border CornerRadius="4"
Margin="0, 0, 0, 0"
BorderThickness="1"
BorderBrush="{StaticResource FirstRd1}">
<!-- Some content -->
</Border>
<!-- ResourceDictionary 2 -->
<Border CornerRadius="4"
Margin="0, 0, 0, 0"
BorderThickness="1"
BorderBrush="{StaticResource FirstRd2}">
<!-- Some content -->
</Border>
如何在单个文件中使用不同的画笔移动相同的元素?还有其他元素不依赖于画笔,但它们是嵌套的或具有嵌套的依赖控件。在这种情况下,最好的解决方案是什么,因为我不想为单个虚拟更改编辑 15 个以上的文件?