我有一个包含多个类的项目(它是一个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>