0

アプリのすべてのボタンに適用しようとしているシンプルなスタイルがあります。

  <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 を省略した場合、スタイルがボタンに自動的に適用されない理由について誰か考えがありますか?

4

1 に答える 1

0

VS2010の不具合だったに違いありません。新しいページを追加し、app.xaml ファイルにスタイルを配置すると、新しいページのコントロールに適用されました。古いページを開くと、Microsoft の魔法のように、スタイルが適用され始めました。本当に奇妙です。

于 2012-06-02T23:52:49.843 に答える