1

我有一个包含很多主题的控件,每个主题都由一个 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 个以上的文件?

4

1 回答 1

1

您可以合并资源字典。在一个文件中声明您的共同内容,然后为不同的部分制作每个自己的文件并将其与共同文件合并。

请参阅http://msdn.microsoft.com/en-us/library/aa350178.aspx

于 2012-04-09T15:10:59.303 回答