所以我试图创建一个由多个形状组成的向量路径。所期望的目标是..。

但是,我看到了以多种方式编写的路径数据。一种方法是这样的..。
M10,0L20,10 0,10z这条路可以这样写..。
M10.2042655289777,2.10534975661348L20.2042655289777,12.1053497566135 0.204265528977683,12.1053497566135z上面的两个片段都创建了这个形状。

从我自己的分析中,我发现第一个代码片段是可扩展的,并且适合放置在其中的按钮的内容。第二种方法似乎是路径点的更精确的坐标。有没有办法创建一个具有精确坐标的路径,然后把它转换成更一般的路径,比如M10,0L20,10,10z。或者,如果可以的话,我可以在保持其可伸缩性的同时创建我想要的形状。
这是我的路径数据..。
<Path Fill="Blue" Data="M16.5,4.50000035762787L25.5,4.50000035762787 25.5,17.5000002384186 16.5,17.5000002384186z M2.5,4.49999994039536L11.5,4.49999994039536 11.5,25.5000002384186 2.5,25.5000002384186z M0.5,0.5L27.5,0.5 27.5,1.50000023841858 0.5,1.50000023841858z"></Path>我想我总能用Stretch="Uniform"
发布于 2016-01-13 20:16:39
如果您希望形状全部为一种颜色,则可以使用单个path对象来定义它。
<Grid Width="250" Height="250">
<Border BorderBrush="Black" BorderThickness="1">
<Path Margin="4"
Fill="Red"
Stretch="Uniform"
VerticalAlignment="Top"
Data="M 0,0 L 100,0 L 100,15 L 0,15 z
M 5,20 L 40,20 L 40,100 L 5,100 z
M 60,20 L 95,20 L 95,70 L 60,70 z" />
</Border>
</Grid>注意,由于拉伸被设置为uniform,路径的显示大小受到父容器的限制。path元素中使用的坐标只是相对值。更改网格的大小将缩小路径绘制,保持距边框4像素的距离。
如果你想用多种颜色绘制形状,那么它会变得稍微复杂一些。您可以使用多个路径对象,但为了正确定位它们,必须使用一对移动值来定义每个数据字符串开头的总体大小(仍然是相对单位),从而将它们强制放入同一个坐标系中。
<Grid Width="250" Height="250">
<Border BorderBrush="Black" BorderThickness="1">
<Grid>
<Path Margin="4" Fill="Red" Stretch="Uniform"
Data="M 100,100 M 0,0 L 100,0 L 100,15 L 0,15 z" />
<Path Margin="4" Fill="Blue" Stretch="Uniform"
Data="M 0,0 M 100,100 M 5,20 L 40,20 L 40,100 L 5,100 z" />
<Path Margin="4" Fill="Green" Stretch="Uniform"
Data="M 0,0 M 100,100 M 60,20 L 95,20 L 95,70 L 60,70 z" />
</Grid>
</Border>
</Grid>第二个网格是必需的,因为边框只能有一个子网格。
https://stackoverflow.com/questions/34681306
复制相似问题