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

WPF CRUD应用Static Resource 'PageHeader'加载异常求助

WPF CRUD应用StaticResource PageHeader加载异常问题

我正在制作自己的WPF CRUD应用,所有操作步骤都确认无误,但程序始终抛出关于StaticResource PageHeader的异常。具体错误信息如下:

Exception thrown: 'System.Windows.Markup.XamlParseException' in PresentationFramework.dll
'Provide value on 'System.Windows.StaticResourceExtension' threw an exception.' Line number '23' and line position '24'.

相关代码文件

MainWindow.xaml

<Window x:Class="Crud.WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Crud.WPF" 
        xmlns:views="clr-namespace:Crud.WPF.Views"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Border Margin="20">
        <views:CrudView/>
    </Border>
</Window>

App.xaml

<Application x:Class="Crud.WPF.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:Crud.WPF">
    <Application.Resources>
        <ResourceDictionary>
            <Style TargetType="TextBlock"
                   x:Key="PageHeader">
                <Setter Property="FontSize"
                        Value="32"/>
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>

App.xaml.cs

using System.Windows;

namespace Crud.WPF
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            MainWindow = new MainWindow();
            MainWindow.Show();

            base.OnStartup(e);
        }
    }
}

CrudView.xaml

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Grid Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <TextBlock Grid.Column="0" 
                       Text="Crud"
                       FontSize="32"
                       Style="{StaticResource PageHeader}"/>
            
            <Button Grid.Column="1"
                    Content="Add"
                    HorizontalAlignment="Right"
                    VerticalAlignment="Center"/>
        </Grid>

        <Grid Grid.Row="1"
              Margin="0 20 0 0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <components:CrudListing Grid.Column="0"
                                    Margin="0 0 20 0"/>

            <components:CrudDetails Grid.Column="1"/>
        </Grid>
    </Grid>

已尝试的排查步骤

  • 使用ChatGPT和Google Bard分析问题,但二者均错误判定App.xaml中的PageHeader首字母为小写,与实际代码不符
  • 重新对照教程视频确认所有实现步骤,未发现遗漏知识点,但问题仍未解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:53:08