我试图在画布中获取图像位置。但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));
}
请让我知道如何解决这个问题。
答案 0 :(得分:1)
MouseDragElementBehavior使用MatrixTransformation,而不是画布的顶部和左侧属性。
要检索位置,您可以尝试使用MouseDragElementBehavior的X和Y属性:
private void MouseDragElementBehavior_DragFinished(object sender, MouseEventArgs e)
{
var behavior = (MouseDragElementBehavior)sender;
System.Diagnostics.Debug.WriteLine("Position: " + behavior.X + " / " + behavior.Y);
}