0
我在UserControl
内部有一个Canvas
,可以平移。我希望能够知道UserControl相对于Canvas左上角的左上角坐标是什么,每次用户平移画布时,都可以使用该信息更新另一个用户控件。在平移画布上获取坐标
谢谢!
我在UserControl
内部有一个Canvas
,可以平移。我希望能够知道UserControl相对于Canvas左上角的左上角坐标是什么,每次用户平移画布时,都可以使用该信息更新另一个用户控件。在平移画布上获取坐标
谢谢!
我相信你可以通过使用TransformToAncestor(...)
方法实现你想要的。这会给你一个你可以用来获取偏移量的变换。据我了解,如果您检索从Canvas
到UserControl
的转换,然后将其应用于(0,0)的位置,那么您应该得到您的偏移量。
因此,代码应该是这个样子:
GeneralTransform transform = canvas.TransformToAncestor(this);
Point offset = transform.Transform(new Point(0, 0));
哪里canvas
是您Canvas
控制和this
是你UserControl
。
有关更多信息,请参阅链接的MSDN文档。
太好了,那就是我想要的。谢谢斯莱德! –
你的意思是你想在'UserControl'中的'Canvas'控件的偏移量? –
是的,那正是我需要的 –