我发现拖放任何控件(并且我计划允许任何控件)在我的应用程序中拖放都没有丢弃目标或其他任何东西是非常困难的。我只是希望能够将任何控制权从这里拖到“那里的某个地方”。但这似乎不太可能。这可能吗?您可以使用几行代码在WinForms中实现拖放,我们如何在WPF中使用相同的拖放支持?
答案 0 :(得分:1)
您在问题和澄清评论中所描述的内容更多是关于重新定位元素而不是拖放。
这种类型的活动在WPF中相当容易,唯一的考虑因素是容纳元素的布局面板。由于WPF尝试在布局周围提供更多结构(使用Grids
,StackPanels
等),因此您需要一个允许自由形式定位元素的面板。这需要Canvas
。
因此,如果您的Canvas
包含元素(例如,定位Canvas.Left
和Canvas.Top
),则可以使用MouseDown
,{{1}和MouseMove
允许用户在画布上拖动/重新定位元素。