2015-09-04 63 views
1

觸發爲什麼下面的代碼不工作:無法使用事件觸發器更改背景。在IsMouseOver屬性不點火

<Border Focusable="True" Background="Blue" Height="30" Width="30" > 
    <Border.Style> 
     <Style TargetType="{x:Type Border}"> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Background" Value="Red"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </Border.Style> 
</Border> 

當我將鼠標懸停我的鼠標移到該邊框它不會變成紅色。爲什麼?

+2

移動默認'Background'值到'Style'作爲另一個'Setter' [MSDN](https://msdn.microsoft.com/en-us/library/vstudio/ms743230(v = vs.100).aspx#listing) – dkozl

+0

Aaaaaaa是愚蠢的。觸發器應該覆蓋背景。謝謝您的幫助! –

+0

@dkozl你應該添加你的評論作爲回答得到它的信用。 – StillLearnin

回答

1

設置邊框的第一背景樣式,而不是在bordre設置它properties.like這樣的:

<Border Focusable="True" Height="30" Width="30" > 
    <Border.Style> 
     <Style TargetType="{x:Type Border}"> 
      <setter Property="Background" Value="Blue"/> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Background" Value="Red"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </Border.Style> 
</Border> 

它應該工作

相關問題