我試圖將圖像從畫布上的一個位置拖放到另一個位置(應該比較簡單),但無法弄清楚。我想移動圖像具有以下XAML:將圖像拖放到WPF中
<Image Height="28" HorizontalAlignment="Left" Margin="842,332,0,0" Name="cityImage" Stretch="Fill" VerticalAlignment="Top" Width="42" Source="/Settlers;component/Images/city.png" MouseLeftButtonDown="cityImage_MouseLeftButtonDown" MouseMove="cityImage_MouseMove" MouseLeftButtonUp="cityImage_MouseLeftButtonUp"/>
的代碼如下:
bool isDragging = false; Point initMousePos; private void cityImage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
isDragging = true;
initMousePos = e.GetPosition(theGrid); } private void cityImage_MouseMove(object sender, MouseEventArgs e) {
if (isDragging)
{
Image image = sender as Image;
Canvas.SetTop(image, initMousePos.X);
Canvas.SetLeft(image, initMousePos.Y);
image.Visibility = System.Windows.Visibility.Visible;
} }
私人無效cityImage_MouseLeftButtonUp(對象發件人,MouseButtonEventArgs E){ isDragging = FALSE; }
您可能還需要爲UserControl的ImageSource屬性添加依賴項屬性,包括INotifyChanged支持。 – Andreas 2010-06-20 21:49:51