gpt4 book ai didi

wpf - 为什么我的 WPF 样式不起作用?

转载 作者:行者123 更新时间:2023-12-02 17:49:31 26 4
gpt4 key购买 nike

尝试在 app.xaml 中添加样式。我的 app.xaml 内容如下:

<Application x:Class="TestApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<Style x:Key="TestStyle" TargetType="Button">
<Setter Property="Background" Value="Red"/>
</Style>
</Application.Resources>
</Application>

我的按钮 XAML 如下:

<Button Content="Click Me!" Style="{StaticResource TestStyle}" />

在设计器中,一切看起来都不错,但是当我运行代码时,它失败了:

Provide value on 'System.Windows.StaticResourceExtension' threw an exception.

我盯着它看了很久,但找不到问题所在!

编辑

这似乎与整个应用程序有关。如果我将代码复制到另一个新项目中,它就可以正常工作。唯一的区别是窗口是使用“StartupUri=”MainWindow.xaml”加载的。在不起作用的窗口中,我在 App.Startup 期间加载窗口,如下所示:

protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new TestWindow().Show();
}
<小时/>

解决方案

发现问题 - 我错过了一个 InitializeComponent 调用。现在,样式在最终产品中起作用,但在设计师中不起作用。我将就此提出一个单独的问题。

最佳答案

解决方法:只需为应用程序对象定义一个名称:

< Application x:Name="App" ...

这对我有用!

关于wpf - 为什么我的 WPF 样式不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3425701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com