Wpf 具有多个控件和generic.xaml的自定义控件库

Wpf 具有多个控件和generic.xaml的自定义控件库,wpf,controls,Wpf,Controls,如果我在一个自定义控件库中为两个不同的控件定义两个默认样式,我会得到错误 是否可以在一个库中有两个或多个具有默认generic.xaml的控件 谢谢是的,这是可能的。建议的方法是将每个控件的样式放置在其自己的资源字典中,并有一个将引用其他控件的Generic.xaml文件 例如,如果库中有两个控件:MyControl1和MyControl2。然后,您将在项目的Themes文件夹中拥有以下文件: generic.xaml MyControl1.generic.xaml MyControl2.ge

如果我在一个自定义控件库中为两个不同的控件定义两个默认样式,我会得到错误

是否可以在一个库中有两个或多个具有默认generic.xaml的控件


谢谢

是的,这是可能的。建议的方法是将每个控件的样式放置在其自己的资源字典中,并有一个将引用其他控件的Generic.xaml文件

例如,如果库中有两个控件:MyControl1和MyControl2。然后,您将在项目的
Themes
文件夹中拥有以下文件:

  • generic.xaml
  • MyControl1.generic.xaml
  • MyControl2.generic.xaml
您的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>

这不仅是可能的,也是默认的行为

当然,这是假设两个控件位于同一命名空间中


您没有指定要获取的错误,因此我无法提供更多详细信息。

请发布更多信息。此外,如果你投票并为你提出的其他问题选择合适的答案,你更有可能得到答案。是的,我个人认为这是一种更好的方式。我希望IDE中的默认行为能做到这一点。我会重试并让您知道我的结果!谢谢你,好的,成功了。对不起,我不能重现我的错误。我记得我创建了一个自定义控件库,其中包含两个类和一个generic.xaml。。。很奇怪。。。无论如何,感谢您提出的这一伟大概念=>对于每个控件,都有自己的rd:)