2011-06-21 3 views
3

Im essayant de créer un StackPanel avec un fond arrondi, qui a aussi une linearbrush de gris à TRASPARENTStackPanel avec fond arrondi et dégradé

J'ai utilisé les idées exposées ici pour éviter l'écrêtage http://chriscavanagh.wordpress.com/2008/10/03/wpf-easy-rounded-corners-for-anything/

Le problème maintenant est que le texte à l'intérieur du stackpanel a aussi une dégradation, puis devient invisible

toute aide?

question similaire How do I create a WPF Rounded Corner container?

code:

<Border Margin="235,78,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" 
BorderBrush="Red" BorderThickness="1" CornerRadius="8" > 
    <Grid> 
    <Border Name="mask" CornerRadius="7"> 
    <Border.Background> 
    <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> 
     <GradientStop Color="Gray" Offset="0"/> 
     <GradientStop Color="Transparent" Offset="1"/> 
     </LinearGradientBrush> 
    </Border.Background> 
    </Border> 
    <StackPanel Orientation="Horizontal" > 
    <StackPanel.OpacityMask> 
      <VisualBrush Visual="{Binding ElementName=mask}"/> 
    </StackPanel.OpacityMask> 
    <Image Height="16" Width="16" RenderOptions.BitmapScalingMode="NearestNeighbor" />      
       <TextBlock Foreground="Black" Margin="5,0,3,0" Text="00620"/> 
       <TextBlock Foreground="Black" Margin="5,0,3,0" Text="Error sincronización" /> 
    </StackPanel> 
    </Grid> 
    </Border> 
+0

C Vous postez une capture d'écran du problème. – ChrisF

Répondre

1

Cela est dû à la OpacityMask, essayez de retirer ces lignes de votre XAML:

<StackPanel.OpacityMask> 
      <VisualBrush Visual="{Binding ElementName=mask}"/> 
    </StackPanel.OpacityMask> 

Et il devrait fonctionner

+0

Man! C'était si facile, se sentir stupide maintenant! – Juan