Нет ничего встроенного для генерации кода C # или VB из миниязыка геометрии, но вы можете создать его следующим образом:
- Выдать код C # или VB для обновления PathGeometry.
- Вызовите
PathFigureCollection.Parse
в строке вашего пути. Это вернет PathFigureCollection
экземпляр.
- Итерация по PathFigureCollection. Для каждой фигуры:
- Запишите код C # или VB для нового объекта PathFigure и добавления его в коллекцию PathGeometry.Figures.
- Перебрать коллекцию сегментов фигуры. Для каждого сегмента проанализируйте его тип и создайте код, зависящий от типа, для создания нового типа PathSegment, установки его свойств и добавления его в текущий PathFigure.
Является ли это более или менее утомительным занятием, чем преобразование путей вручную - это только то, что вы можете решить, хотя ... это, вероятно, зависит от того, сколько разных типов сегментов вам нужно обработать (то есть, сколько разных видов сегментов появляются в ваших путях), так как вам придется написать отдельный код для LineSegments, ArcSegments и т. д.
РЕДАКТИРОВАТЬ: Спасибо Anvaka в комментариях за упрощение первоначального ответа, обратив мое внимание на PathFigureCollection.Parse.