2011-05-05 4 views
0

Dans l'exemple ci-dessous, LinearGradientBrush donne un aspect légèrement biseauté à la bordure. La bordure est étendue sur toute la largeur, mais sa hauteur est similaire à une barre d'outils moyenne. Le texte du bloc de texte dans la bordure semble être au-dessus de la barre, je suis curieux de savoir s'il y a un moyen de faire apparaître le texte dans la barre, plutôt que sur le dessus de la barre. Merci pour toute direction.wpf bordure texte profondeur effet

<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> 

Répondre

1

Vous ne savez pas exactement ce que vous cherchez, mais deux choses qui le rendent plus intégré superposent une version modifiée de la brosse de fond et utilisent un dégradé pour le texte lui-même, mais l'allument comme si l'intérieur de la bordure incurvé.

<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