小编典典

WPF C#路径:如何从具有路径数据的字符串获取代码中的几何(不在XAML中)

c#

我想在代码中生成WPF Path对象。

在XAML中,我可以这样做:

 <Path Data="M 100,200 C 100,25 400,350 400,175 H 280">

如何在Code中做同样的事情?

 Path path = new Path();
 Path.Data = "foo"; //This won't accept a string as path data.

是否有可用的类/方法将带PathData的字符串转换为PathGeometry或类似的字符串?

当然可以通过某种方式解析XAML并转换数据字符串吗?


阅读 387

收藏
2020-05-19

共1个答案

小编典典

var path = new Path();
path.Data = Geometry.Parse("M 100,200 C 100,25 400,350 400,175 H 280");

Path.Data的类型为Geometry。使用 Reflector JustDecompile (eff Red Gate)
,我查看了其TypeConverterAttribute的Geometry定义(xaml序列化程序用于将type的值转换stringGeometry)。这使我指向了GeometryConverter。在检查实现时,我看到它用于Geometry.Parse将路径的字符串值转换为Geometry实例。

2020-05-19