WPF中的样式未自动应用

时间:2012-06-01 15:06:55

标签: wpf styles

我有一个简单的风格,我试图应用于我的应用程序中的所有按钮:

  <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:键?

1 个答案:

答案 0 :(得分:0)

一定是VS2010的故障。我添加了一个新页面,将样式放在app.xaml文件中,然后将它们应用到新页面上的控件。打开旧页面,好像通过Microsoft魔术,样式开始应用。真奇怪。