Canvas.getleft для возврата изображения 0 в WP7

Я пытаюсь получить позицию изображения на моем холсте. Но Canvas.GetLeft и Canvas.GetTop всегда возвращают 0, хотя я перетаскиваю изображение через холст. Ниже приведен фрагмент кода.

private void MouseDragElementBehavior_DragFinished(object sender, MouseEventArgs e) { MessageBox.Show("Canvas Left Position" + Canvas.GetLeft(image1).ToString()); MessageBox.Show("Canvas Top Position" + Canvas.GetTop(image1)).ToString(); MessageBox.Show("Canvas Index" + Canvas.GetZIndex(image1)); }

Пожалуйста, дайте мне знать, как решить эту проблему.

1 ответ

MouseDragElementBehavior использует MatrixTransformation, а не верхний и левый свойства холста.

Чтобы получить позицию, вы можете попробовать использовать свойства X и Y для MouseDragElementBehavior:

private void MouseDragElementBehavior_DragFinished(object sender, MouseEventArgs e) { var behavior = (MouseDragElementBehavior)sender; System.Diagnostics.Debug.WriteLine("Position: " + behavior.X + " / " + behavior.Y); }

licensed under cc by-sa 3.0 with attribution.