2
我有位於ContentPanel中的drag'n'drop圖像。在MouseLeave事件中,我得到圖像的位置,然後我需要將它對齊到我的網格。試圖用Canvas來做,但沒有任何反應。當我嘗試改變保證金時,這個位置是完全錯誤的。如何在Silverlight中設置圖像的位置
代碼:
private void MouseLeave(object sender, MouseEventArgs e)
{
Image rs = (Image)sender;
GeneralTransform gt = rs.TransformToVisual(ContentPanel);
Point offset = gt.Transform(new Point(0, 0));
double controlTop = offset.Y;
double controlLeft = offset.X;
tb.Text = Convert.ToInt16(controlLeft/40).ToString();
tb2.Text = Convert.ToInt16(controlTop/40).ToString();
double newLeft = Convert.ToInt16(controlLeft/40)*40;
double newTop = Convert.ToInt16(controlTop/40)*40;
//rs.Margin = new Thickness(newLeft, newTop, 0, 0);
//((Image)ContentPanel.Children[11]).SetValue(Canvas.LeftProperty, newLeft);
//((Image)ContentPanel.Children[11]).SetValue(Canvas.TopProperty, newTop);
}
所以,我怎麼能設置圖像的位置?
非常感謝。 TranslateTransform使一切都變得完美。 – user2106655 2013-02-27 12:04:51