2013-07-12 178 views
4

我有以下样式:WPF标签样式

<Style x:Key="WhiteStyle" TargetType="{x:Type Label}">    
    <Setter Property="BorderBrush" Value="White"/> 
    <Setter Property="BorderThickness" Value="2"/>  
</Style> 

不过,我想补充的财产CornerRadius和修改值。不幸的是,XAML错误说Label没有CornerRadius属性。我的问题,我该如何修改这个XAML?

感谢,

+0

您将需要一个依赖属性附加到现有的控制:HTTP:/ /stackoverflow.com/questions/14318707/add-dependency-property-to-existing-net-class。我建议将此样式应用于'TargetType =“{x:Type Border}”'并将标签边框包裹起来。 – Dom

回答

10

的错误是正确的,你不能设置在标签的边角半径。

你可以做的是用一个边框包裹标签,并将你的风格应用到那个以获得所需的外观。

编辑:

的样式资源:

<Style x:Key="MyBorderStyle" TargetType="Border"> 
     <Setter Property="BorderBrush" Value="White" /> 
     <Setter Property="BorderThickness" Value="2" /> 
     <Setter Property="CornerRadius" Value="3" /> 
</Style> 

边框包裹标签:

<Border Style="{StaticResource MyBorderStyle}"> 
    <Label Content="My Label" /> 
</Border> 
+0

谢谢你亲切的先生。 – DoubleDunk