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

发布于 2024-10-12 08:45:12 字数 104 浏览 3 评论 0原文

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

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

谢谢

if i define two default styles for two different controls in one custom control lib i get errors...

is it possible to have two or more controls with a default generic.xaml in one lib?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空名 2024-10-19 08:45:12

是的,这是可能的。推荐的方法是将每个控件的样式放置在其自己的资源字典中,并拥有一个引用其他控件的 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>

Yes, it is possible. The recommended approach is to place styles for each control in its own resource dictionary and have one Generic.xaml file that will reference others.

So, for example, if you have two controls in your library: MyControl1 and MyControl2. Then you will have the following files in the Themes folder of your project:

  • generic.xaml
  • MyControl1.generic.xaml
  • MyControl2.generic.xaml

And your generic.xaml will look like this:

<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>
软的没边 2024-10-19 08:45:12

是的。

这不仅是可能的,而且是默认行为。

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

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

Yes.

Not only is it possible, it is the default behavior.

This is, of course, assuming that the two controls are in the same namespace.

You don't specify the error(s) that you are getting, so I can't offer much more detail.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文