Я хочу генерировать Объект контуров 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 анализируется, и строка Данных преобразовывается?
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.