You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF报错'Resources' property has already been set on 'App'求助

问题根因

这是WPF初学者写全局资源时非常常见的结构错误:Application.Resources属性的类型本身就是ResourceDictionary,作为XAML内容属性,它的子节点只能接收一个资源字典实例。
你当前的代码在<Application.Resources>下并列写了三个同级子节点:

  • 一个显式声明的、包含BitmapImage资源的<ResourceDictionary>
  • 一个针对Window的全局Style
  • 一个针对Menu的全局Style
    相当于给同一个属性重复赋值三次,XAML解析器无法处理这种结构,就会抛出通用的XamlParseException,且报错行号通常没有参考价值。
修复方法

把所有全局资源(图片、样式)都放到同一个<ResourceDictionary>节点内部即可,不需要在资源字典外面并列放其他资源。修正后的完整代码如下:

<Application x:Class="niftymonkey.GameBoxer.UI.WpfApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:niftymonkey.GameBoxer.UI.WpfApp"
             StartupUri="MainWindow.xaml">
    
    <Application.Resources>
         <ResourceDictionary>
            <!-- 图片资源 -->
            <BitmapImage x:Key="IconPng128" UriSource="Assets/space-invader-icon-128.png"/>
            
            <!-- 全局Window样式 -->
            <Style TargetType="Window">
                <Setter Property="Background" Value="#303030"/>
            </Style> 

            <!-- 全局Menu样式 -->
            <Style TargetType="Menu">
                <Setter Property="Background" Value="#202020"/>
                <Setter Property="Foreground" Value="Gainsboro"/>
                <Setter Property="Padding" Value="0,4,0,4"/>
            </Style>

            <!-- 后续如果需要引入其他独立的资源字典文件,在此处添加合并节点即可
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Themes/ButtonStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            -->
        </ResourceDictionary>
     </Application.Resources>
</Application>
额外提示
  • 请确认项目中Assets/space-invader-icon-128.png文件的生成操作属性设置为Resource,否则运行时会因找不到图片资源触发新的异常。
  • WPF的XAML解析异常对资源类错误的定位一直很模糊,只要出现无明确指向的XamlParseException,优先检查全局资源、页面资源的字典结构是否合法,资源Key是否重复。

内容的提问来源于stack exchange,提问作者stigzler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:21:35