Есть ли способ программно преобразовать другие элементы Xaml в элементы пути? - PullRequest
1 голос
/ 08 сентября 2010

В Blend можно конвертировать определенные элементы Xaml в Path, используя опцию Object-> Path-> Convert to Path.

Есть ли какой-нибудь API, чтобы сделать то же самое программно, в приложении WPF?

Спасибо

1 Ответ

0 голосов
/ 01 октября 2011

Окунувшись в исходный код Expression Blend с помощью DotPeek (конечно, для исследовательских целей), я могу сказать, что API Convert to Path не предоставляется полезным способом.

Внутренне он использует ряд закрытых методов для преобразования содержимого RichTextBox, TextBlocks, TextBoxes и просто геометрии.

Единственный внешний метод в Microsoft.Expression.DesignSurface.Geometry:

public static PathGeometry[] ConvertToPathGeometries(SceneElement element)

Но параметр SceneElement - это тип, используемый только в смеси Expression и имеющий огромное количество зависимостей. Не существует простого способа создания SceneElements для ваших собственных объектов Silverlight вне Expression Blend. Возможно, вы могли бы выполнить эту функцию как надстройку Blend, но я не вижу, чтобы вы работали в автономном приложении.

Это было интересное упражнение, но безуспешно. К сожалению.

...