我用一个窗口创建了简单的WPF应用程序。我想要的是自动将背景颜色应用于所有窗口。但是,颜色不适用。 这是示例项目的link。以下是App中的XAML:
<Application x:Class="SampleWPFApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SampleWPFApp"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style TargetType="Window">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#FF3B444B" />
</Setter.Value>
</Setter>
</Style>
<Style TargetType="local:MainWindow" BasedOn="{StaticResource Window}" />
</Application.Resources>
</Application>
逻辑来自here。
修改
嗯,当背景没有设置时,我对没什么好处 - 它没有在VS编辑器中设置。程序运行时,后台运行正常。 Ragavan和mm8 做的解决方案是有效的,尽管它们是相同的,BasedOn="{StaticResource Window}"
让我们省略了样式的关键(Window
关键本身)。
唉,编辑器没有显示背景,虽然明确设置样式(在MainWindow&#39; XAML中)会显示背景。
答案 0 :(得分:3)
基于不会直接绑定窗口。替换此代码BasedOn="{StaticResource {x:Type Window}}"
<强>的App.xaml 强>
<Application x:Class="SampleWPFApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SampleWPFApp"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style TargetType="Window">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#FF3B444B" />
</Setter.Value>
</Setter>
</Style>
<Style TargetType="local:MainWindow" BasedOn="{StaticResource {x:Type Window}}"/>
</Application.Resources>
</Application>
答案 1 :(得分:0)
样式TargetType =“local:MainWindow”BasedOn =“{StaticResource Window}”/&gt;
&amp; LTStyle TargetType =“{x:Type Grid}”BasedOn =“{x:Null}”&gt; &amp; LTSetter Property =“Background”Value =“Black”/&gt; &安培; LT /样式和GT;
答案 2 :(得分:0)
只需将您的风格设为x:Key
,并将MainWindow
风格基于此风格。这对我来说很有意义:
<Application x:Class="SampleWPFApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SampleWPFApp"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style x:Key="myWindowStyle" TargetType="Window">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#FF3B444B" />
</Setter.Value>
</Setter>
</Style>
<Style TargetType="local:MainWindow" BasedOn="{StaticResource myWindowStyle}" />
</Application.Resources>
</Application>