canvas.getleft for image在WP7中返回0

时间:2012-02-10 17:38:03

标签: c# windows-phone-7

我试图在画布中获取图像位置。但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 个答案:

答案 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);
    }