如何在 UWP 中用线条填充矩形
How to fill Rectangle with lines in UWP
我相信我可以用标题做得更好,但这正是我要找的。我有一个 UWP 应用程序,我想在其中实现如下屏幕截图:
这是我的代码片段:
<Border BorderBrush="Black">
<Grid>
<Rectangle Fill="Green" />
</Grid>
</Border>
我正在尝试用屏幕截图中给出的形状填充网格中的矩形。我该怎么做?
所以,虽然我目前没有办法在 UWP 上进行测试,但我假设支持 LinearGradientBrush
和 MappingMode
之类的东西,因为这种方式可以在 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>
我相信我可以用标题做得更好,但这正是我要找的。我有一个 UWP 应用程序,我想在其中实现如下屏幕截图:
这是我的代码片段:
<Border BorderBrush="Black">
<Grid>
<Rectangle Fill="Green" />
</Grid>
</Border>
我正在尝试用屏幕截图中给出的形状填充网格中的矩形。我该怎么做?
所以,虽然我目前没有办法在 UWP 上进行测试,但我假设支持 LinearGradientBrush
和 MappingMode
之类的东西,因为这种方式可以在 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>