2009-12-16 3 views
0

Dans Silverlight, j'essaie de tracer une ligne sur un canevas en définissant l'extrémité de l'élément LineGeometry à la position du curseur. Dans l'événement MouseMove de Canvas, je fais ceci:Silverlight: LineGeometry sur un canevas ne suit pas le curseur

line.EndPoint = e.GetPosition (this); Où "ceci" est le canevas

"Line" est un élément LineGeometry ajouté à un GeometryGroup, et le GeometryGroup est ajouté à un objet path, qui est ajouté à la collection Canvas 'Children.

La ligne n'apparaît pas sur la zone de dessin. Quelles sont les causes?

Répondre

0

Ce n'est pas un domaine que je comprends très bien, et je ne réponds que parce que personne d'autre n'a encore répondu :-). Mais je pense que le problème pourrait être que EndPoint de la ligne est défini par rapport à son conteneur (GeometryGroup), mais la structure Point renvoyée par e.GetPosition (this) est relative au contrôle conteneur. Vous devrez peut-être appliquer une Transform à l'e.GetPosition (this) pour obtenir le point correct. Voir here pour plus de détails sur le fonctionnement des transformations.

Questions connexes