在項目中,我有一個外部類庫SkinDaemon,里面有一個資源文件MacStyledWindow.xaml。我把生成的DLL導向了主項目的Debug目錄下。
在主項目中的APP文件中,我添加如下代碼,以便能夠在項目中使用資源文件:

<Application x:Class="MarkitWireAPITestTool.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="LoginWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/SkinDaemon;component/Resource Dictionaries/MacStyledWindow.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>
然后在前台,直接利用 Style="{StaticResource MacWindowStyle}"來引用,結果發現項目可以運行,顯示結果正確,就是設計狀態不能使用,一直提示我:
Error 7 Value 'pack://application:,,,/SkinDaemon;component/Resource Dictionaries/MacStyledWindow.xaml' cannot be assigned to property 'Source'. Could not load file or assembly 'SkinDaemon, Culture=neutral' or one of its dependencies. The system cannot find the file specified. F:\MarkitWireAPITestTool(WPF)\MarkitWireAPITestTool\MarkitWireAPITestTool\App.xaml 8 37 MarkitWireAPITestTool
原因是什么呢?
其實很簡單,請在主項目中添加對SkinDaemon類庫的DLL引用即可。