C# 在WPF中拖放图像
我试图将一幅图像从画布上的一个点拖放到另一个点(应该相对简单),但无法理解。我要移动的图像具有以下XAML: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
<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支持。