質問

以下の例では、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つのものは、バックグラウンドブラシの変更されたバージョンのオーバーレイとテキスト自体のグラデーションを使用していますが、境界の内側が湾曲しているかのように明るくします。

<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

他のヒント

WPFでこのような名前の効果を使用する必要があります。これが彼らのlibaryです http://wpffx.codeplex.com/, 、エンボス加工された効果はあなたを助けるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top