WPF Дизайн этикетки - PullRequest
       1

WPF Дизайн этикетки

8 голосов
/ 28 июня 2010

У меня есть метка в 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>

Может ли кто-нибудь помочь с тем, как я добавлю угловой радиус для этого ярлыка

большое спасибо

Ответы [ 2 ]

16 голосов
/ 28 июня 2010

Вам нужно изменить шаблон 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>
3 голосов
/ 05 февраля 2015

Использование элемента Border было бы проще.

<Border CornerRadius="10" BorderThickness="2" BorderBrush="Blue" Background="Red" Margin="2">
    <Label Content="Lorem ipsum" />
</Border>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...