.net 如何从外部程序集引用XAML DictionaryResource?

.net 如何从外部程序集引用XAML DictionaryResource?,.net,wpf,xaml,user-controls,wpf-controls,.net,Wpf,Xaml,User Controls,Wpf Controls,我完全是WPF世界的裸体。 我刚开始沉浸其中 我正试图解决使用ResourceDictionary和合并字典的问题 我已经将WPF示例应用程序转换为类库。 新转换的程序集包含/引用在我尝试创建的用户控件库中。 转换后的程序集包含在包含我的用户控件库(dll)项目的解决方案中的一个项目中 我能够成功地转换它,并消除了所有的错误,除了一些问题 使用资源字典 这就是令人不快的XAML的样子: 原始WPF应用程序在程序集中包含多个资源字典项 当我转换到类库时,我在资源字典上收到以下错误消息: 错误2

我完全是WPF世界的裸体。 我刚开始沉浸其中

我正试图解决使用ResourceDictionary和合并字典的问题

我已经将WPF示例应用程序转换为类库。 新转换的程序集包含/引用在我尝试创建的用户控件库中。 转换后的程序集包含在包含我的用户控件库(dll)项目的解决方案中的一个项目中

我能够成功地转换它,并消除了所有的错误,除了一些问题 使用资源字典

这就是令人不快的XAML的样子:

原始WPF应用程序在程序集中包含多个资源字典项

当我转换到类库时,我在资源字典上收到以下错误消息: 错误21查找资源字典“/ConvertedAppPath/Dictionares/Brusks.xaml”时出错。C:\MyExplicitPath\WPFUserControls\DynamicDataChart.xaml 15 17 WPFUserControls 错误22查找资源字典“/ConvertedAppPath/Dictionaries/Styles.xaml”时出错。C:\MyExplicitPath\WPFUserControls\DynamicDataChart.xaml 15 17 WPFUserControls

所以,我想也许我需要一个资源字典的相对路径。

我在XAML编辑器中收到以下错误消息: 文件“./ConvertedAppPath/Dictionaries/Bruss.xaml”不是项目的一部分,或者其生成操作属性未设置为“Resource”

我很想了解这一点,所以我有几个问题: 1) 如何清除这些错误

2) 是否需要在“源”中显式设置程序集位置

3) “源”属性的所有部分是什么?它们真正的含义是什么

4) 为什么第二条错误消息没有在编译时显示,而只在XAML编辑器中可见

感谢您的回应和努力,
JohnWPFNewB

确保“/ConvertedAppPath/Dictionaries/brusks.xaml”属性设置为“始终复制”

因为当您运行project Brusks.xaml时,应该将其复制到与您的project.exe相同的目录,与xaml中给定的路径相同(/ConvertedAppPath/Dictionaries/brusks.xaml)

<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/ConvertedAppPath/Dictionaries/Brushes.xaml" />
                <ResourceDictionary Source="/ConvertedAppPath/Dictionaries/Styles.xaml" />
<ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../ConvertedAppPath/Dictionaries/Brushes.xaml" />
                <ResourceDictionary Source="../ConvertedAppPath/Dictionaries/Styles.xaml" />
<ResourceDictionary.MergedDictionaries>
</ResourceDictionary>