2016-10-21 57 views
0

你好,所以我用了很多按鈕,當我的鼠標移動到按鈕,我不喜歡「動畫」,所以我發現這一點:如何創建新的按鈕樣式?

<Button.Style> 
    <Style 
     TargetType="{x:Type Button}"> 
     <Setter 
      Property="OverridesDefaultStyle" Value="True"/> 
     <Setter 
      Property="Margin" Value="5"/> 
     <Setter 
      Property="Template"> 
      <Setter.Value> 
       <ControlTemplate 
        TargetType="{x:Type Button}"> 
        <Border 
         x:Name="border" 
         BorderBrush="{x:Null}" 
         BorderThickness="3" 
         Background="{TemplateBinding Background}" 
         CornerRadius="0" 
         Padding="0"> 
         <ContentPresenter 
          HorizontalAlignment="Center" 
          VerticalAlignment="Center"/> 
        </Border> 
        <ControlTemplate.Triggers> 
         <Trigger 
          Property="IsMouseOver" 
          Value="True"> 
          <Setter 
           Property="BorderBrush" 
           TargetName="border" 
           Value="#252525"/> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Button.Style> 

它的偉大工程,所以我想知道如何創建一個名爲「NoMouseOver」的新款式,我可以在這裏選擇:http://image.noelshack.com/fichiers/2016/42/1477013610-style.png

回答

1

儘管你可以在快速搜索中找到你的問題的答案(這裏是stackoverflow或google),下面是對你的問題的簡單回答:

在Window/UserControl的資源部分創建樣式:

<Windows.Resources> 
    <Style x:Key="NoMouseOverStyle" TargetType="Button"> 
     ... 
    </Style> 
</Window.Resources> 

然後,您可以在屬性中選擇此樣式,或者直接在您的XAML中使用它。

<Button Style={StaticResource NoMouseOverStyle} /> 

請記住,如果要在不同的窗口或用戶控件中使用此樣式,可能需要使用ResourceDictionarys。

編輯 正如Steffen所說,我刪除了DynamicResource並將其替換爲StaticResource。

+0

感謝很多人,我做了很多的研究,但沒有發現:/ – Francefire

0

以前的答案是正確的,但我會使用StaticResource而不是DynamicResource出於性能原因。

問候

斯特芬

+0

這是一個回答或評論?似乎是一個評論 – Radinator