Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中拖放图像_C#_Wpf_Drag And Drop - Fatal编程技术网

C# 在WPF中拖放图像

C# 在WPF中拖放图像,c#,wpf,drag-and-drop,C#,Wpf,Drag And Drop,我试图将一幅图像从画布上的一个点拖放到另一个点(应该相对简单),但无法理解。我要移动的图像具有以下XAML: <Image Height="28" HorizontalAlignment="Left" Margin="842,332,0,0" Name="cityImage" Stretch="Fill" VerticalAlignment="Top" Width="42" Source="/Settlers;component/Images/city.png" MouseLeftButt

我试图将一幅图像从画布上的一个点拖放到另一个点(应该相对简单),但无法理解。我要移动的图像具有以下XAML:

<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"/>
私有void cityImage_MouseLeftButtonUp(对象发送器,MouseButtonEventArgs e){
isDraging=false;}

我要做的就是使用

System.Windows.Controls.Primitives.Thumb 
作为UserControl的根,并将ControlTemplate设置为显示图像(在边框内,但在没有边框的情况下也可以工作),如下所示:

<Thumb Name="myRoot" DragDelta="MyRootDragDelta">
  <Thumb.Template>
    <ControlTemplate>
      <Image ... >
      ... see below ...
      </Image>
    </ControlTemplate>
  </Thumb.Template>
</Thumb>
不要忘记添加:

public ImageSource ImageSource { get; set; }

希望这有帮助。如果有什么不清楚的地方,请随时进一步询问。

我要做的是使用

System.Windows.Controls.Primitives.Thumb 
作为UserControl的根,并将ControlTemplate设置为显示图像(在边框内,但在没有边框的情况下也可以工作),如下所示:

<Thumb Name="myRoot" DragDelta="MyRootDragDelta">
  <Thumb.Template>
    <ControlTemplate>
      <Image ... >
      ... see below ...
      </Image>
    </ControlTemplate>
  </Thumb.Template>
</Thumb>
不要忘记添加:

public ImageSource ImageSource { get; set; }

希望这有帮助。如果有什么不清楚的地方,可以进一步询问。

您希望将画布的左属性和上属性设置为初始位置以外的其他属性。在MouseMove处理程序中,必须获取相对于父对象的位置。而且确保父元素是画布而不是网格。图像上有一个很大的左上边距,还有一个变量名为“theGrid”的控件。

您希望将画布的左上属性设置为初始位置以外的其他属性。在MouseMove处理程序中,必须获取相对于父对象的位置。而且确保父元素是画布而不是网格。图像上有一个很大的左上边距,还有一个变量名为“theGrid”的控件.

您可能还希望为UserControl的ImageSource属性添加依赖项属性,包括INotifyChanged支持。您还可能希望为UserControl的ImageSource属性添加依赖项属性,包括INotifyChanged支持。