【发布时间】:2020-10-08 11:48:29
【问题描述】:
文件: App.xaml
<Application x:Class="MyApp.App">
<Application.Resources>
<ResourceDictionary Source="Themes/Dark.xaml"/>
</Application.Resources>
</Application>
文件: Dark.xaml
<ResourceDictionary>
<SolidColorBrush x:Key="Background.Primary">Red</SolidColorBrush>
</ResourceDictionary>
文件: Main.xaml
<Window>
<Window.Resources>
<Style TargetType="local:Main">
<Setter Property="Background" Value="{DynamicResource Background.Primary}"/>
</Style>
</Window.Resources>
</Window>
文件结构:
Root
App.xaml
Main.xaml
Themes
Dark.xaml
在设计器中,我可以注意到我的主窗口的背景变成了红色,但是当我编译项目时,背景只是透明的!!!
【问题讨论】:
-
你能写下完整的 Main.xaml 吗?那里一定有什么冲突……
-
local:Main是当前窗口,可以使用TargetType="Window"
-
隐含的
Style只会应用于具有匹配类型的窗口的任何child。看我的回答。
标签: c# wpf wpf-controls resourcedictionary