WPF自定义按钮

时间:2016-11-03 14:12:07

标签: c# wpf templates button custom-controls

我想制作4个自定义按钮,但是我想要的形状非常不寻常,我仍然坚持如何制作它。 每个不同的部分都是我想要按钮的形状,是否可能? Button shape

谢谢

1 个答案:

答案 0 :(得分:0)

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

<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,它看起来会一样。