如何创建一个新的按钮样式
本文关键字:按钮 样式 一个 何创建 创建 | 更新日期: 2023-09-27 18:14:02
你好,我用了很多按钮,我不喜欢鼠标在按钮上的动画效果,所以我发现了这个:
<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
虽然你可以通过快速搜索(在stackoverflow或google上)找到问题的答案,但这里有一个简单的答案:
在Window/UserControl的Resources-section中创建样式:
<Windows.Resources>
<Style x:Key="NoMouseOverStyle" TargetType="Button">
...
</Style>
</Window.Resources>
之后你可以在属性中选择这个样式,或者直接在你的XAML中使用它。
<Button Style={StaticResource NoMouseOverStyle} />
请记住,如果您想在不同的窗口或用户控件中使用此样式,您可能需要使用ResourceDictionarys。
编辑正如Steffen所说,我删除了DynamicResource,并用StaticResource代替了它。
之前的答案是正确的,但出于性能原因,我会使用StaticResource而不是DynamicResource。
对
史蒂芬