2010-06-28 38 views
7

Tôi có một nhãn trong WPF mà tôi muốn thiết kế lại để nó có góc tròn.Thiết kế nhãn WPF

Tôi có đoạn code dưới đây đã:

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

bất cứ ai có thể vui lòng giúp với làm thế nào tôi sẽ thêm một Radius góc tới nhãn này

cảm ơn nhiều

Trả lời

15

Bạn sẽ cần phải thay đổi ControlTemplate cho Label để có được các góc tròn. Bản thân nhãn kiểm soát không cho thấy thuộc tính CornerRadius.

Thêm nội dung sau vào Kiểu của bạn và bạn sẽ nhận được các cạnh tròn trên Nhãn của mình. Tôi tự ý đặt nó thành "3" bên dưới, nhưng bạn có thể đặt nó theo bất cứ nhu cầu nào của bạn.

<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> 
+0

Tuyệt vời - cảm ơn bạn – Bruie

3

Sử dụng phần tử Border sẽ đơn giản hơn.

<Border CornerRadius="10" BorderThickness="2" BorderBrush="Blue" Background="Red" Margin="2"> 
    <Label Content="Lorem ipsum" /> 
</Border> 
Các vấn đề liên quan