0

我正在尝试创建一个VisualBrush带有阴影图案的图案,该图案会在顶部和底部边缘褪色。虽然我对孵化本身没有问题:

<VisualBrush x:Key="b1" TileMode="Tile" Viewport="0,0,15,15" ViewportUnits="Absolute" Viewbox="0,0,15,15" ViewboxUnits="Absolute">
    <VisualBrush.Visual>
        <Canvas>
            <Path Data="M 0 15 L 15 0" Stroke="Gray"></Path>
            <Path Data="M 0 0 L 15 15" Stroke="Gray"></Path>
        </Canvas>
    </VisualBrush.Visual>    
</VisualBrush>

我真的没有办法让它褪色。知道怎么做吗?

尝试按照下图获取背景。

在此处输入图像描述

4

1 回答 1

0

正如我从您的示例图片中了解到的那样,您需要指定一个 general Background。为此,我设置了 Grid 而不是 Canvas 并为他设置了Background颜色。

对于将显示内容的面板需要这样设置OpasityMask

<Window.Resources>
    <VisualBrush x:Key="b1" TileMode="Tile" Viewport="0,0,15,15" ViewportUnits="Absolute" Viewbox="0,0,15,15" ViewboxUnits="Absolute">
        <VisualBrush.Visual>
            <Grid Background="Black">
                <Path Data="M 0 15 L 15 0" Stroke="Gray" />
                <Path Data="M 0 0 L 15 15" Stroke="Gray" />
            </Grid>
        </VisualBrush.Visual>
    </VisualBrush>
</Window.Resources>

<Grid Background="{StaticResource b1}">
    <Grid.OpacityMask>
        <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
            <GradientStop Offset="0" Color="Black" />
            <GradientStop Offset="1" Color="Transparent" />
        </LinearGradientBrush>
    </Grid.OpacityMask>

    <Label Content="TEST" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>

Result

在此处输入图像描述

于 2014-02-17T05:41:08.747 回答