ToggleButtonをにIsThreeState
設定して使用してみませんtrue
か?
<ToggleButton IsThreeState="True">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="{StaticResource TbCheckedContent}"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Content" Value="{StaticResource TbUncheckedContent}"/>
</Trigger>
<Trigger Property="IsChecked" Value="{x:Null}">
<Setter Property="Content" Value="{StaticResource TbNullContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
更新私はあなたの質問を十分に注意深く読んでいないと思います。IsPressed
もちろん、ボタンとIsEnabled
プロパティについて上記と同様のことを行うことができます。
<Button>
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Content" Value="{StaticResource ButtonPressedContent}"/>
</Trigger>
<Trigger Property="IsPressed" Value="False">
<Setter Property="Content" Value="{StaticResource ButtonNormalContent}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Content" Value="{StaticResource ButtonDisabledContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
ただし、VisualStatesを調べてから、ボタンのスタイルとテンプレートを調べて、ボタンのControlTemplateでこれらの状態を視覚化する方法の概要を把握することもできます。