我有一个具有很多主题的控件,每个主题都由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个以上的文件?
答案 0 :(得分:1)
您可以合并资源词典。在一个文件中声明您的常见内容,然后对于差异化部分,将每个文件都作为自己的文件并将其与公共文件合并。