WPF标签设计

标签 wpf

我在WPF中有一个标签,想要重新设置样式,所以它有圆角。

我已经有以下代码:

<Style  TargetType="{x:Type Label}">        
    <Setter Property="Background" Value="Red"/>
    <Setter Property="Margin" Value="2,2,2,2"/>
    <Setter Property="BorderThickness" Value="2"/>
    <Setter Property="BorderBrush" Value="Blue"/>
   </Style>

任何人都可以协助我如何在此标签上添加转角半径

非常感谢

最佳答案

您需要更改Label的ControlTemplate才能获得圆角。 Label控件本身不会公开CornerRadius属性。

将以下内容添加到样式中,您的标签上的边缘将变圆。我在下面将其任意设置为“3”,但是您可以将其设置为您需要的任何值。

<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:Type Label}">
            <Border BorderBrush="{TemplateBinding BorderBrush}" 
                BorderThickness="{TemplateBinding BorderThickness}" 
                Background="{TemplateBinding Background}" 
                Padding="{TemplateBinding Padding}" 
                SnapsToDevicePixels="true" 
                CornerRadius="3">
                <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="IsEnabled" Value="false">
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>

关于WPF标签设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133429/

相关文章:

c# - log4net可以输出Json吗?

wpf - 在 winform 或 wpf 中拖放

c# - WPF MultiBinding 到 Model.ChildProperty 不起作用?

.net - 允许调整大小,同时将缩放比例保持在Window上

c# - 当我尝试更改 WPF 中 ItemsControl 的宽度时出现 UI 性能问题

c# - 使用 MVVM WPF 的数据网格绑定(bind)

c# - WPF/XAML 中 Canvas 中的可重复形状

wpf - 将上下文菜单添加到 TreeView WPF 中的叶节点

c# - WPF 网格大小调整

linux - WPF 应用程序可以在 Linux 或 Mac 上运行 .Net Core 3 吗?