WPF自定义按钮

本文关键字:按钮 自定义 WPF | 更新日期: 2023-09-27 18:16:04

我想制作4个自定义按钮,但是我想要的形状是非常不寻常的,我被困在如何制作它。每个不同的部分都是我想要的按钮形状,可能吗?按钮形状

谢谢

WPF自定义按钮

根据我们在评论中的讨论,这里是一个按钮的示例模板:

<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。