圆角和渐变背景的StackPanel

3
我正在尝试创建一个带有圆角背景和从灰色到透明的线性刷子的StackPanel。
我使用了这里提出的想法来防止剪切http://chriscavanagh.wordpress.com/2008/10/03/wpf-easy-rounded-corners-for-anything/
现在的问题是,StackPanel内部的文本也会降级,然后变得不可见。
有什么帮助吗?
类似的问题如何创建WPF圆角容器? 代码:
<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>

你能否发布一张问题的截图? - ChrisF
1个回答

2
这是由于 OpacityMask 导致的,尝试从你的 XAML 中删除这些行:
<StackPanel.OpacityMask>
             <VisualBrush Visual="{Binding ElementName=mask}"/>
     </StackPanel.OpacityMask>

它应该能够正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接