【发布时间】:2017-12-05 16:37:16
【问题描述】:
在 WPF 中,我有一个自定义“工具箱”,它由标签控件和一些停靠在屏幕左侧的矢量图标组成。
在中心,我有一个 Canvas 控件,我最终需要为这个“设计器表面”序列化相对坐标(对于其他平台)。
基本问题,我可以将控件从这个伪控件框拖放到画布上,但我需要知道如何将这个 WPF 控件正确放置在画布中,鼠标指针所在的位置,真实 em> 到 Canvas 而不是屏幕或主窗口。
需要调用哪些函数才能确保如果我将 Button 控件放在画布的 10%、20% 处,我会返回一个实际位置并且按钮会落在预期的位置?
【问题讨论】:
-
你没有drop事件中的相对位置吗?如果没有,减去 Canvas 的位置不会给您与 Canvas 的相对位置吗?
-
DragEventArgs.GetPosiiton():
e.GetPosition(whateverCanvasControl)。相对/比例坐标是相对容易的算术。 -
我的“e.source”拖放是 Canvas 元素,而不是被拖放的项目。我在寻找什么属性?