我正在尝试将全局应用程序样式应用于某些控件类型,但是将这些样式添加到Application.Resources并不会将样式应用于我的视图中的元素。
示例:
<Application x:Class="GUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="AliceBlue"></Setter>
<Setter Property="Margin" Value="20,20,20,20"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
</Style>
</Application.Resources>
</Application>
在我发现的应用程序范围样式的所有示例中,这都是他们说的方式,但它不适用于我。我做错了什么?
谢谢, 亚历克斯。
答案 0 :(得分:2)
我自己工作了,问题是我没有使用StartUpUri
属性来打开我的初始应用程序视图,我改变了我的启动过程,所以它确实使用了这个属性,这解决了我的问题。 / p>
我的App.xaml现在看起来像这样:
<Application x:Class="GUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="/Views/Application/SplashView.xaml">
<Application.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Aqua"></Setter>
</Style>
</Application.Resources>
</Application>
谢谢, 亚历克斯。
答案 1 :(得分:1)
虽然这是一个旧帖子,但已得到答复。我遇到了这个问题。我删除了StartupUri
并添加了空样式(我以问题为例):
<Application x:Class="GUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<!-- Added blank style first -->
<Style TargetType="Rectangle" />
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="AliceBlue"></Setter>
<Setter Property="Margin" Value="20,20,20,20"></Setter>
<Setter Property="FontStyle" Value="Italic"></Setter>
</Style>
</Application.Resources>
</Application>