2016-05-03 58 views
0



我有一個樣式,模板我在我的應用程序的按鈕,看起來像這樣:WPF的ButtonStyle和的MouseEnter/-Leave-事件

<Style TargetType="{x:Type Button}"> 
      <Setter Property="OverridesDefaultStyle" Value="true"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type Button}"> 
         <Border Name="Border"> 
          <ContentPresenter RecognizesAccessKey="True"/> 
         </Border> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsKeyboardFocused" Value="true"> 
           <Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" /> 
          </Trigger> 
          <Trigger Property="IsDefaulted" Value="true"> 
           <Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" /> 
          </Trigger> 
          <Trigger Property="IsMouseOver" Value="true"> 
           <Setter TargetName="Border" Property="Background" Value="Transparent" /> 
          </Trigger> 
          <Trigger Property="IsPressed" Value="true"> 
           <Setter TargetName="Border" Property="Background" Value="Transparent" /> 
           <Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" /> 
          </Trigger> 
          <Trigger Property="IsEnabled" Value="false"> 
           <Setter TargetName="Border" Property="Background" Value="Transparent" /> 
           <Setter TargetName="Border" Property="BorderBrush" Value="#ffffff" /> 
           <Setter Property="Foreground" Value="Transparent"/> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

現在我想放一個的MouseEnter和mouseLeave事件在我的一些按鈕中,並改變他們的背景,等等。如果我禁用樣式,一切都會按預期正常工作(除了按鈕獲得標準樣式的邊框和藍色背景)。

現在我的問題是:「我怎樣才能改變風格,以一個無國界的,透明的按鈕沒有鼠標懸停藍色背景和取得的MouseEnter和鼠標離開火,所以我可以編程設定背景

回答

1

你應該補充的嗎?額外的樣式要做出不同的反應比其他,然後用像觸發器在你的粘貼代碼來改變背景的按鈕。

<Style x:Key="diffrentButton" TargetType="{x:Type Button}"> 

...

+0

聽起來不錯,但問題是, buttonbackgrounds是在運行中創建的多邊形,所以我不能使用XAML-tri ggers ...我想使用編程方式更改。這些多邊形位於(ZIndex -1)按鈕下面,並且像按鈕一樣透明。當他們使用鼠標時,他們將獲得特定的顏色。我怎麼說,它已經沒有styletemplates ...幾乎.... –