我有一个包含多个类的项目(这是一个dll项目)。我添加了一个xaml
文件(让我们称之为styles.xaml
),我在其中声明了最常用的样式。
我有另一个项目(让我们在prog
中调用),在另一个解决方案中,我想使用styles.xaml
中编写的样式。
我尝试右键点击prog
- >添加现有项目,我选择了styles.xaml
,编写了所有相关代码,并且工作正常。
问题是它将styles.xaml
文件复制到我的prog
项目目录(因此我现在持有同一资源文件的两个副本)。与常规dlls
重新定义不同,它总是在该目录中查找它,如果它不存在则不再复制它。
在源代码控制方面,我不想保存同一资源文件的多个副本,每个应用程序一个,在当前的解决方案中,它看起来像我必须。
我还尝试添加资源,并选择该文件 - 同样的问题。
有没有这样做?
答案 0 :(得分:1)
例如,你在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>