引用外部xaml资源字典文件



我有一个包含多个类的项目(它是一个dll项目)。我添加了一个xaml文件(我们称之为styles.xaml),在其中我声明了我最常用的样式。

我有另一个项目(让我们调用prog),在另一个解决方案中,我想在其中使用用styles.xaml编写的样式。

我尝试右键单击prog-->添加现有项目,然后选择了styles.xaml,编写了所有相关代码,它就工作了。

问题是它将styles.xaml文件复制到了我的prog项目的目录中(因此我现在持有同一资源文件的两个副本)。与常规的dlls重新加密不同,它将始终在该目录中查找它,如果它不存在,则不会再次复制它。

在源代码管理方面,我不想保存同一资源文件的多个副本,每个应用程序一个,在当前的解决方案中,这似乎是我必须的。

我还尝试添加资源,并选择了那个文件-同样的问题。

有这样做的办法吗?

例如,您在styles.dll中有:

 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <SolidColorBrush  x:Key="BlueColor" Color="Blue"/>
    <!-- Whatever Styles you need -->
</ResourceDictionary>

在BlueTheme.xaml 中

然后引用:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://siteoforigin:,,,/styles;component/BlueTheme.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

相关内容

  • 没有找到相关文章

最新更新