2016-10-21 54 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