【问题标题】:WPF Button Styling, Templates?WPF按钮样式,模板?
【发布时间】:2018-11-01 03:11:15
【问题描述】:

我非常接近于获得我想要的东西,但我不喜欢在角落的边界之外突出的背景。谁能指出我将背景设置为圆角的正确方法?谢谢。

<Button  FontSize="16" Height="50" >
    <Button.Content>
        <Border CornerRadius="5" Padding="5" Margin="0" BorderBrush="GreenYellow" BorderThickness="2" Height="50" >
            <TextBlock Text="Work Order Manager" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Border>

    </Button.Content>

    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Background" Value="Green"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="DarkGoldenrod"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>

</Button>

【问题讨论】:

  • 你想要什么背景圆角或按钮圆角???

标签: wpf templates button styles


【解决方案1】:

如果你想圆整整个按钮,然后将 CornerRadius 移动到按钮的模板:

<Button  FontSize="16" Height="50" Padding="5" Content="Work Order Manager" >
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Background" Value="Green"/>
            <Setter Property="BorderBrush" Value="GreenYellow"/>
            <Setter Property="BorderThickness" Value="2"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border Background="{TemplateBinding Background}"
                                CornerRadius="5" 
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}" 
                                >
                            <ContentPresenter 
                                Margin="{TemplateBinding Padding}"
                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                />
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="DarkGoldenrod"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多