wpf边框文字深度效果

时间:2011-05-05 21:05:39

标签: wpf text border depth

在下面的示例中,LinearGradientBrush为边框提供了一些斜面外观,边框在宽度上拉伸,但高度与平均工具栏类似。边框中的文本块文本看起来就像是坐在条形图的顶部,我很好奇是否有办法让文本显示在条形图中,而不是在条形图的顶部。谢谢你的任何指示。

<Border HorizontalAlignment="Stretch" VerticalAlignment="Top" BorderThickness="1" CornerRadius="0" BorderBrush="SlateGray">
    <Border.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="DimGray" Offset="0" />
            <GradientStop Color="Black" Offset="0.5" />
            <GradientStop Color="Gray" Offset="1" />
        </LinearGradientBrush>
    </Border.Background>
    <TextBlock Text="Check for updates" Foreground="AliceBlue" FontWeight="Bold"/>
</Border>

2 个答案:

答案 0 :(得分:1)

您需要在WPF中使用此类命名效果。这是一个他们的库http://wpffx.codeplex.com/,浮雕效果可能会帮助你。

答案 1 :(得分:1)

不太确定你在寻找什么,但是两个使它更加嵌入的东西是覆盖背景画笔的修改版本并使用渐变为文本本身,但点亮它就好像边框的内部是弯曲的

<Border HorizontalAlignment="Stretch" VerticalAlignment="Top" BorderThickness="1" CornerRadius="0" BorderBrush="SlateGray">
    <Border.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="DimGray" Offset="0" />
            <GradientStop Color="Black" Offset="0.5" />
            <GradientStop Color="Gray" Offset="1" />
        </LinearGradientBrush>
    </Border.Background>
    <Grid>
        <TextBlock Text="Check for updates" FontWeight="Bold">
            <TextBlock.Foreground>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="DimGray" Offset="0" />
                    <GradientStop Color="AliceBlue" Offset="0.5" />
                    <GradientStop Color="White" Offset="1" />
                </LinearGradientBrush>
            </TextBlock.Foreground>
        </TextBlock>
        <Border>
            <Border.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" Opacity="0.5">
                    <GradientStop Color="DimGray" Offset="0" />
                    <GradientStop Color="Transparent" Offset="0.5" />
                    <GradientStop Color="Gray" Offset="1" />
                </LinearGradientBrush>
            </Border.Background>
        </Border>
    </Grid>
</Border>

screenshot