Путь WPF C#: Как добраться от строки с Данными Пути к Геометрии в Коде (не в XAML)

Я хочу генерировать Объект контуров WPF в Коде.

В XAML я могу сделать это:

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

Как я могу сделать то же в Коде?

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

Существует ли класс/Метод, доступный, который преобразовывает строку с PathData к PathGeometry или подобный?

Конечно, так или иначе XAML анализируется, и строка Данных преобразовывается?

68
задан Peterdk 8 January 2010 в 18:13
поделиться

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) , я просмотрел определение Geometry для его TypeConverterAttribute (которое сериализатор xaml использует для преобразования значений типа string в Геометрия ). Это указывало мне на GeometryConverter. Проверяя реализацию, я увидел, что она использует Geometry.Parse для преобразования строкового значения пути в экземпляр Geometry.

132
ответ дан 24 November 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: