UWP中缺少LineSegment.IsStroked

时间:2016-10-20 23:13:29

标签: c# uwp draw

在Wpf中你可以

<Path Stroke="White" Fill="#50ffffff" StrokeThickness="2">
        <Path.Data>
            <PathGeometry>
                <PathFigure StartPoint="20,20">
                    <LineSegment Point="100,20" />
                    <LineSegment Point="100, 100" IsStroked="False"/>
                    <LineSegment Point="20, 100"/>
                    <LineSegment Point="20, 20"/>
                </PathFigure>
            </PathGeometry>
        </Path.Data>
    </Path>

获得

enter image description here

可悲的是,在UWP中,IsStroked类中没有LineSegment属性,对于这种情况有没有任何已知的解决方法?

由于

2 个答案:

答案 0 :(得分:2)

要克服此限制,您应该能够将Path分解为多个Paths跳过区域而不会出现中风。在示例代码中,您甚至可以将其保留为单个Path,方法是从右上角开始,然后逆时针方向,从右下角结束。

在更复杂的场景中,拥有多个Paths比WPF更不干净,但它应该是一个功能性解决方案。

答案 1 :(得分:1)

只要只有一个差距,这也应该有效:

<Path Stroke="White" Fill="#50ffffff" StrokeThickness="2">
    <Path.Data>
        <PathGeometry>
            <PathFigure StartPoint="100,20" IsClosed="False">
                <LineSegment Point="20,20"/>
                <LineSegment Point="20,100"/>
                <LineSegment Point="100,100"/>
            </PathFigure>
        </PathGeometry>
    </Path.Data>
</Path>