2010-09-08 33 views
1

Dans Fusion, il est possible de convertir certains éléments Xaml en Chemin, en utilisant l'option Objet-> Chemin-> Convertir en chemin.Existe-t-il un moyen de convertir par programme d'autres éléments Xaml en éléments path?

Existe-t-il une API pour faire la même chose par programme, dans une application WPF?

Merci

+0

+1 de retour. J'utilise actuellement DotPeek pour voir comment Expression Blend fait cela, donc je vous le ferai savoir s'il y a une manière publique (ou si je peux en faire un) :) –

Répondre

0

Après avoir plongé dans le code source d'Expression Blend avec dotPeek (à des fins de recherche bien sûr), je peux dire que le Convertir en chemin API n'est pas exposée de manière utile.

En interne, il utilise un certain nombre de méthodes privées pour convertir le contenu RichTextBox, TextBlocks, TextBox et simplement la géométrie.

La seule méthode externe est Microsoft.Expression.DesignSurface.Geometry:

public static PathGeometry[] ConvertToPathGeometries(SceneElement element) 

Mais le paramètre SceneElement est un type utilisé uniquement dans un mélange d'expression et a un grand nombre de dépendances. Il n'existe aucun moyen facile de créer des SceneElements pour vos propres objets Silverlight en dehors d'Expression Blend. Vous pouvez probablement exécuter la fonctionnalité en tant que complément Blend, mais je ne vous vois pas le faire fonctionner dans une application autonome.

Ce fut un exercice intéressant, mais infructueux. Pardon.