2012-02-10 12 views
0

私のキャンバスでイメージの位置を取得しようとしています。 Canvas.GetLeftとCanvas.GetTopは、イメージをキャンバスにドラッグしても常に0を返します。以下は、以下のコードです。canvas.getleft for WP7で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

は、あなたが使用してXAMLを示すことができる:

は、あなたがMouseDragElementBehaviorのXとYプロパティを使用して試すことができます位置を取得するには? – loyalpenguin

+0

<キャンバス証拠金= "12,0,3、-715" Grid.Row = "1"> = "37.jpg" ストレッチ= "塗りつぶし" <画像高さ= "800" ソース 幅=」 465" X:名= "画像1"> \t <エル:MouseDragElementBehavior ConstrainToParentBounds = "True" を DragFinished = "MouseDragElementBehavior_DragFinished" /> \t – Mugu

答えて

1

MouseDragElementBehaviorは、キャンバスの上部および左のプロパティではなく、MatrixTransformationを使用します。

private void MouseDragElementBehavior_DragFinished(object sender, MouseEventArgs e) 
    { 
     var behavior = (MouseDragElementBehavior)sender; 

     System.Diagnostics.Debug.WriteLine("Position: " + behavior.X + "/" + behavior.Y); 
    } 
+0

答えに感謝します。それはまさに私が探していたものでした。 – Mugu

+0

Incaseアプリケーションの終了時にX、Y座標を保存します。どのようにそれらを使用して、アプリケーションの終了時に同じ座標値に画像を配置することができます。基本的には、イメージはトーンストーンのために同じ位置に保持されるべきです。 – Mugu

+0

あなたの振る舞いに名前をつけてください: '

関連する問題