开发者

StackPanel with rounded and degraded background

开发者 https://www.devze.com 2023-03-14 14:05 出处:网络
Im trying to create a stackpanel with a rounded background, that also has a linearbrush from grey to trasparent

Im trying to create a stackpanel with a rounded background, that also has a linearbrush from grey to trasparent

I used the ideas exposed here to prevent clipping http://chriscavanagh.wordpress.com/2008/10/03/wpf-easy-rounded-corners-for-anything/

The problem now is that the text inside the stackpanel also has degradation and then turns invisible

any help?

Similar question 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}"/>
     </Sta开发者_如何学运维ckPanel.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>


This is due to the OpacityMask, try to remove these lines from your XAML:

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

And it should work

0

精彩评论

暂无评论...
验证码 换一张
取 消