【发布时间】:2011-01-18 19:54:02
【问题描述】:
如果我在一个自定义控件库中为两个不同的控件定义了两种默认样式,我会得到错误...
是否可以在一个库中包含两个或多个带有默认 generic.xaml 的控件?
谢谢
【问题讨论】:
-
请发布(大量)更多信息。此外,如果您投票并为您提出的其他问题选择适当的答案,您更有可能得到答案。
如果我在一个自定义控件库中为两个不同的控件定义了两种默认样式,我会得到错误...
是否可以在一个库中包含两个或多个带有默认 generic.xaml 的控件?
谢谢
【问题讨论】:
是的,这是可能的。推荐的方法是将每个控件的样式放在其自己的资源字典中,并拥有一个引用其他控件的 Generic.xaml 文件。
例如,如果您的库中有两个控件:MyControl1 和 MyControl2。然后你将在你的项目的Themes文件夹中有以下文件:
您的 generic.xaml 将如下所示:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/MyControlLib;component/Themes/MyControl1.generic.xaml" />
<ResourceDictionary Source="/MyControlLib;component/Themes/MyControl2.generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
【讨论】:
是的。
这不仅是可能的,而且是默认行为。
当然,这是假设这两个控件在同一个命名空间中。
你没有具体说明你得到的错误,所以我不能提供更多细节。
【讨论】: