私はWPFでTic Tac Toeゲームを作成しようとしていて、3X3グリッドのボタンを使っています。たとえば、ボタンの上にマウスを置いて、背景色を変更しないで、デフォルトのボタンスタイルをオーバーライドしたいとします。しかし、静的リソースを作成した後、ボタンのクリックイベントはそれ以上トリガーされません。ここに私のコードは次のとおりです。リソースを使用してボタンのデフォルトスタイルをオーバーライドしているときに、クリックイベントが発生しない
ボタン(このボタンは、クリックイベントをトリガしません):
<Button Name="Button1X1" Style="{StaticResource TicTacToeButtonStyle}" Grid.Row="0" Grid.Column="0" Content="" BorderThickness="0, 0, 2.5, 2.5" Click="Button_Click"/>
ボタン(このボタンは、クリックイベントをトリガー):
<Button Name="Button1X2" Background="Transparent" Grid.Row="0" Grid.Column="1" Content="" Click="Button_Click"/>
リソース:
<Window.Resources>
<Style x:Key="TicTacToeButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Transparent"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
また、Button1X1で設定された境界線の太さのプロパティは反映されません。
あなたの目標は何ですか?常に見えない目に見えないボタンを表示しますか?あなたはそれがマウスの上にないときに見えるようにしますか?テンプレートは、ボタンのビジュアル要素を作成するものです。今は、何も創造していません。テンプレートを置き換えると、境界線を示すものが置き換えられます。あなたはそれを*何かに置き換える必要があります。 –
私はそれがマウスのホバー上であっても常に目に見えないボタンであることを望みます。 –
あなたがそれが目に見えないようにしたいと言うとき、あなたはまだその周りに国境を見たいと思っていますか? –