Dav*_*man 14 wpf resources background window colors
我需要使用资源来设置WPF应用程序中主窗口的颜色.由于资源声明在窗口声明之后(我导入资源字典),我不能Background在Window对象中使用属性.所以,我想我会这样设置背景:
<Window.Resources>
...
</Window.Resources>
<Window.Background>
<SolidColorBrush Color="{StaticResource WindowBackgroundBrush}" />
</Window.Background>
Run Code Online (Sandbox Code Playgroud)
我的语法有点偏,因为该对象不会为其Color属性获取画笔资源.有什么问题?谢谢你的帮助.
Mua*_*Dib 19
这工作:
<Window x:Class="Moria.Net.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
x:Name="window"
Background="{DynamicResource WindowBrush}"
Width="800" Height="600">
<Window.Resources>
<SolidColorBrush x:Key="WindowBrush" Color="LightGray"/>
</Window.Resources>
</Window>
Run Code Online (Sandbox Code Playgroud)
这里要注意的主要是窗口中的x:name和Background属性中的DynamicResource
另外,这也有效......
<Window.Resources>
<SolidColorBrush x:Key="WindowBrush" Color="LightGray"/>
</Window.Resources>
<Window.Style>
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="{StaticResource WindowBrush}"/>
</Style>
</Window.Style>
Run Code Online (Sandbox Code Playgroud)
作为旁注,如果要为应用程序使用主题,则应查看组件资源键
Tom*_*eld 18
试试这个
<Window.Background>
<StaticResource ResourceKey="WindowBackgroundBrush" />
</Window.Background>
Run Code Online (Sandbox Code Playgroud)