チェック状態に基づいて背景を変更する必要があるトグル ボタンを備えたアプリケーションがあります。このアプリケーションには、トグル ボタンと同じ背景を共有する通常のボタンもいくつかあります。また、すべて角が丸くなっています。
だから私はこれらのスタイルを思いついた:
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Control}}" x:Key="OnButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="15" Background="{StaticResource GradientBrushOn}" BorderThickness="1" Padding="2">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="Button" BasedOn="{StaticResource OnButton}" x:Key="OffButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="15" Background="{StaticResource GradientBrushOff}" BorderThickness="1" Padding="2" x:Name="TheBorder">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
簡単に言うと、スタイルOffButton
の Background プロパティのみをからに変更するように、スタイルを短くする方法を探しています。OnButton
GradientBrushOn
GradientBruthOff
WPF を使用するのはこれが初めてなので、これはかなり基本的なことだと思いますが、Google で 2 時間を費やした後でも、それを行う方法が見つかりませんでした。