Visual Studio 2022中WPF多项目StaticResource无法解析问题求助
WPF .NET Framework 4.8 跨项目资源字典无法解析问题
我使用Visual Studio 2022开发基于.NET Framework 4.8的WPF解决方案,方案包含两个项目:作为应用入口的Startup项目,以及存放Resource Dictionary和App.xaml的Views项目。当在控件中使用Resource Dictionary中的项(如样式、字体)作为StaticResource时,出现「无法解析资源」的错误。
App.xaml 代码
<Application x:Class="Views.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Startup="OnStartup"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Styles/Colors.xaml"/> <ResourceDictionary Source="Styles/Fonts.xaml"/> <ResourceDictionary Source="Styles/Global.xaml"/> <ResourceDictionary Source="Styles/Windows.xaml"/> <ResourceDictionary Source="Styles/Buttons.xaml"/> <ResourceDictionary Source="Styles/Storyboards.xaml"/> <ResourceDictionary Source="Styles/ScrollBar.xaml"/> <ResourceDictionary Source="Styles/Images.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>
Fonts.xaml 代码
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <FontFamily x:Key="MulishRegular">pack://application:,,,/Views;component/Resources/Fonts/Mulish-Regular.ttf#Mulish</FontFamily> <FontFamily x:Key="MulishLight">pack://application:,,,/Views;component/Resources/Fonts/Mulish-Light.ttf#Mulish Light</FontFamily> <FontFamily x:Key="MulishMedium">pack://application:,,,/Views;component/Resources/Fonts/Mulish-Medium.ttf#Mulish Medium</FontFamily> <FontFamily x:Key="MulishBold">pack://application:,,,/Views;component/Resources/Fonts/Mulish-Bold.ttf#Mulish Bold</FontFamily> </ResourceDictionary>
错误情况
使用StaticResource引用资源(如MulishRegular)时,提示:
无法解析资源'MulishRegular'
已尝试的无效操作
- 重新下载项目
- 清理.vs文件夹
临时解决方法
将资源文件从单独的Views项目移至Startup项目的根目录下,问题暂时解决。
内容的提问来源于stack exchange,提问作者envoydev
相关产品推荐
相关产品推荐

