如何在 UWP 中用线条填充矩形

How to fill Rectangle with lines in UWP

我相信我可以用标题做得更好,但这正是我要找的。我有一个 UWP 应用程序,我想在其中实现如下屏幕截图:

这是我的代码片段:

<Border BorderBrush="Black">
    <Grid>
        <Rectangle Fill="Green" />
    </Grid>
</Border>

我正在尝试用屏幕截图中给出的形状填充网格中的矩形。我该怎么做?

所以,虽然我目前没有办法在 UWP 上进行测试,但我假设支持 LinearGradientBrushMappingMode 之类的东西,因为这种方式可以在 WPF、Silverlight 上运行,其他什么......有了这个假设,试一试。

<Rectangle Stroke="LightBlue" StrokeThickness="5">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0,0" EndPoint="6,4" 
                             MappingMode="Absolute" SpreadMethod="Repeat">
            <GradientStop Color="LightBlue" Offset="0.25"/>
            <GradientStop Color="#00000000" Offset="0.15"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>

您可以调整 Starts/Ends/Offsets 以获得所需的角度和大小,但它传达了概念。例如,如果你增加你的 EndPoint 数字,你会得到更粗的线条,就像你的例子一样。

您还可以将画笔变成资源,并将其用作路径、背景或任何通常支持 LinearGradientBrush 的资源。希望这有帮助,干杯。

PS - 一些 other neat things 你可以用它们做,应该很容易移植到 UWP。

附录:

这更接近您的示例,为您省去一些麻烦,请注意不同之处。

<Rectangle Stroke="LightBlue" StrokeThickness="5">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="8,0" EndPoint="18,8" 
                     MappingMode="Absolute" SpreadMethod="Repeat">
            <GradientStop Color="LightBlue" Offset="0.15"/>
            <GradientStop Color="White" Offset="0.05"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>