質問
以下の例では、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>
他のヒント
WPFでこのような名前の効果を使用する必要があります。これが彼らのlibaryです http://wpffx.codeplex.com/, 、エンボス加工された効果はあなたを助けるかもしれません。
所属していません StackOverflow