我将以下内容作为UserControl
的正文:
<Label FontWeight="Bold"
x:Name="PaletteLabel"
HorizontalAlignment="Stretch"
BorderThickness="1"
>
<Label.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#FFB6B5C3"
Offset="0" />
<GradientStop Color="#FFF4F4F6"
Offset="1" />
</LinearGradientBrush>
</Label.Background>
<ContentPresenter />
</Label>
我希望能够像这样使用它:
<uc:NiceLabel>Text Content</uc:NiceLabel>
但这并没有给我带来我期望的效果。我在这里犯了任何明显的错误吗?
答案 0 :(得分:1)
你可以用一种简单的风格来实现这个目标(如果我能帮你正确的话)。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<Style TargetType="{x:Type Label}" x:Key="NiceLabelStyle">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#FFB6B5C3"
Offset="0" />
<GradientStop Color="#FFF4F4F6"
Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<StackPanel>
<Label Style="{StaticResource NiceLabelStyle}">Test</Label>
</StackPanel>
</Window>
答案 1 :(得分:0)