2017-12-21 15 views
0

私はWPFで作成されたボタンのセットを持っています。 MouseOverとIsPressedの2つのトリガーをボタンに追加しています。ただし、IsPressedトリガだけが動作していますが、MouseOverエフェクトは動作していません。私はマウスカーソルでボタンを強調表示できるようにしたい、そして、それは別の色に変わる。私は何を取りこぼしたか?WPF-マウスオーバーエフェクトが起こらない

XAML:

<Setter Property="Template"> 
     <Setter.Value> 
     <ControlTemplate TargetType="{x:Type Button}"> 
     <Border x:Name="Border" > 
    <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
        </Border> 
       <ControlTemplate.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 

       <Setter Property="Background" Value="DarkGoldenrod"/> 
          </Trigger> 

      <Trigger Property="IsPressed" Value="True"> 
    <Setter TargetName="Border" Property="BorderThickness" Value="10,10,0,0"/> 

       </Trigger> 
       </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
      </Setter> 

EDITED:

<Style.Triggers> 
        <Trigger Property="IsPressed" Value="True"> 

         <Setter Property="BorderThickness" Value="10,10,0,0"> 

         </Setter> 
         <Setter Property="Opacity" Value="0.2"/> 

        </Trigger> 

       </Style.Triggers> 

答えて

1

あなたのDarkGoldenrodトリガーでTargetNameは= "境界線" を逃しています。

+0

私はこれとは違う方法でしたが、現在は背景が暗い青色になっています。 –

+0

の違いは?ダークブルーの色を指定せずに押すと、デフォルトのテンプレートを使用していて、それを修正しています。 – Rowbear

+0

私の編集したポストを参照してください –

関連する問題