【发布时间】:2012-06-06 20:15:13
【问题描述】:
我有一个简单的样式,我正在尝试将其应用于我的应用程序中的所有按钮:
<LinearGradientBrush x:Key="ButtonBackgroundBrush">
<GradientStop Color="Yellow" Offset="0" />
<GradientStop Color="Red" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush Color="Purple" x:Key="ButtonForegroundBrush" />
<SolidColorBrush Color="LimeGreen" x:Key="ButtonBorderBrush" />
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource ButtonBackgroundBrush}" />
<Setter Property="Foreground" Value="{StaticResource ButtonForegroundBrush}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorderBrush}" />
</Style>
我的 app.xaml 文件中有这个,所以它适用于我的应用程序中的所有内容。如果我在页面上放置一个按钮,则样式不适用。如果我向样式添加“x:key”,然后将该样式名称添加到按钮,则应用该样式。因此,我知道样式写得正确并且在按钮的范围内。如果我从样式中删除 x:key,为什么样式不会自动应用于按钮,是否有人有任何想法?
【问题讨论】:
-
也许更本地化的风格占了上风?
-
我已将您的样式添加到新 WPF 项目中的应用程序资源中,并且该样式会自动应用于我的应用程序中的按钮。