【问题标题】:StackPanel with rounded and degraded backgroundStackPanel 具有圆形和退化的背景
【发布时间】:2011-09-19 09:39:21
【问题描述】:

我正在尝试创建一个带有圆形背景的堆栈面板,它还有一个从灰色到透明的线性画笔

我使用这里公开的想法来防止剪辑 http://chriscavanagh.wordpress.com/2008/10/03/wpf-easy-rounded-corners-for-anything/

现在的问题是stackpanel里面的文字也有退化,然后变得不可见

有什么帮助吗?

类似的问题 How do I create a WPF Rounded Corner container?

代码:

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

【问题讨论】:

  • 你能把问题的屏幕截图贴出来吗?

标签: wpf xaml


【解决方案1】:

这是由于 OpacityMask 造成的,请尝试从您的 XAML 中删除这些行:

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

它应该可以工作

【讨论】:

    猜你喜欢
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多