我用一个窗口创建了简单的WPF应用程序。我想要的是自动将背景色应用于所有窗口。然而,颜色是不适用的。下面是示例项目的链接。以下是应用程序中的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>逻辑取自这里。
编辑:
嗯,我一点也不介意背景没有设置--它没有设置在VS编辑器中。当程序运行时,背景就可以了。Ragavan和mm8的解决方案确实有效,尽管它们与BasedOn="{StaticResource Window}"允许我们省略样式的键(即Window键本身)的区别是一样的。
唉,编辑器没有显示背景,尽管显式设置样式(在MainWindow的XAML中)会显示背景。
发布于 2017-02-22 08:22:35
Basedon不会直接绑定窗口。替换此代码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>发布于 2017-02-22 08:07:51
样式TargetType=“本地:主窗口”BasedOn={StaticResource窗口}“/>”
<Setter Property=”背景“Value="Black”/>
发布于 2017-02-22 12:30:55
只需给您的样式一个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>https://stackoverflow.com/questions/42384844
复制相似问题