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
相关产品推荐
相关产品推荐

