2009-05-09 5 views
-1

J'essaie d'obtenir la position d'un canevas à partir d'un gestionnaire de déplacement de souris, mais il renvoie NeuN.WPF - Canvas.GetTop renvoyant NeuN

La toile est à l'intérieur une autre toile et le code est:

Console.WriteLine(Canvas.GetTop(canvas2)); 

c'est à l'intérieur:

private void move(object sender, MouseEventArgs e) 
{ 
Console.WriteLine(Canvas.GetTop(canvas2)); 
} 

Je dirais que ce ne peut pas être un problème de portée parce que SetTop fonctionne très bien .

Des idées? Merci d'avance :)

Répondre

1

Ok, j'ai trouvé une solution de contournement. J'apprécierais toujours les alternatives si quelqu'un a une meilleure façon de le faire.

Fondamentalement, comme GetTop ne fonctionne pas, j'ai pensé que je pouvais obtenir l'objet RenderTransform. Et ça a marché!

canvas2.RenderTransform.Value.OffsetY 

Merci.

EDIT: Vous pouvez aussi le faire:

Double current_y = (double)this.GetValue(Canvas.TopProperty);