WPF 自定义按钮
WPF Custom buttons
我想制作 4 个自定义按钮,但是我想要的形状很不寻常,我一直在研究如何制作它。
每个不同的部分都是我想要的按钮形状,可以吗?
Button shape
谢谢
根据我们在评论中的讨论,这是您的其中一个按钮的示例模板:
<Style x:Key="QuarterButtonTemplate" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<EventSetter Event="Click" Handler="QuarterButton_Click" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border CornerRadius="0"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="4,0">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed" />
<VisualState x:Name="Disabled" />
<VisualState x:Name="MouseOver" />
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused" />
<VisualState x:Name="Unfocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}"
HorizontalAlignment="Center"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
Content="{TemplateBinding Content}"
Margin="{TemplateBinding Margin}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这给了你一个 Button
,它基本上什么都不做,只是看起来像一个图像,除了 Click
事件之外没有任何意义。如果您将鼠标悬停、禁用、聚焦、散焦或单击它,由于 VisualState
s.
是空的,所以它看起来是一样的
我想制作 4 个自定义按钮,但是我想要的形状很不寻常,我一直在研究如何制作它。 每个不同的部分都是我想要的按钮形状,可以吗? Button shape
谢谢
根据我们在评论中的讨论,这是您的其中一个按钮的示例模板:
<Style x:Key="QuarterButtonTemplate" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<EventSetter Event="Click" Handler="QuarterButton_Click" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border CornerRadius="0"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="4,0">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed" />
<VisualState x:Name="Disabled" />
<VisualState x:Name="MouseOver" />
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused" />
<VisualState x:Name="Unfocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}"
HorizontalAlignment="Center"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
Content="{TemplateBinding Content}"
Margin="{TemplateBinding Margin}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这给了你一个 Button
,它基本上什么都不做,只是看起来像一个图像,除了 Click
事件之外没有任何意义。如果您将鼠标悬停、禁用、聚焦、散焦或单击它,由于 VisualState
s.