gpt4 book ai didi

WPF 主题不适用于背景

转载 作者:行者123 更新时间:2023-12-04 23:29:14 25 4
gpt4 key购买 nike

我有一个正在开发的 WPF 应用程序,它允许用户切换当前主题。我想出了如何switch themes ...但似乎应用程序的背景不受主题影响:

enter image description here

(我将三张图片混合在一起以节省空间)

我怎样才能解决这个问题?它清楚地显示 here背景应该改变...

这是我正在使用的代码:
MainWindow.xaml :

<Window x:Class="GDE.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" MinWidth="525" MinHeight="350">
<Grid>
....
</Grid>
</Window>
App.xaml :
<Application x:Class="GDE.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary x:Name="ThemeDictionary">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Themes/ExpressionDark.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

最佳答案

主题定义了背景,但您需要自己设置它,因为它没有在主题中的任何地方被引用:

Background="{DynamicResource WindowBackgroundBrush}"

为什么?我假设因为样式不会自动应用于派生类,所以如果样式带有 TargetType Window设置也需要显式设置,因为通常您使用 Window 的子类,例如 MainWindow .

关于WPF 主题不适用于背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230216/

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