WPF C# Path: How to get from a string with Path Data to Geometry in Code (not in XAML)

c#, path, wpf

Solution

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

Path.Data is of type Geometry. Using Reflector JustDecompile (eff Red Gate), I looked at the definition of Geometry for its TypeConverterAttribute (which the xaml serializer uses to convert values of type `string` to `Geometry`). This pointed me to the GeometryConverter. Checking out the implementation, I saw that it uses `Geometry.Parse` to convert the string value of the path to a Geometry instance.

Problem

I want to generate a WPF Path object in Code. In XAML I can do this: ``` <Path Data="M 100,200 C 100,25 400,350 400,175 H 280"> ``` How can I do the same in Code? ``` Path path = new Path(); Path.Data = "foo"; //This won't accept a string as path data. ``` Is there a class/Method available that converts the string with PathData to PathGeometry or similar? Surely somehow the XAML gets parsed and the Data-string converted?

Original source

Related problems