我在画布里面有画布,画布父亲里面有其他元素。 但我祖父的画布已经旋转了。
我如何在儿童中获得真正的位置(亲戚做爷爷)?
VisualTreeHelper.GetOffset(controlClicked)
canvasGrandFather.TranslatePoint(new Point(), controlClicked)
Canvas.GetTop and Canvas.GetLeft
我必须采取绿色方块的位置,作为背景图像。 每个轮廓/边框都是画布
基本上我有:
图像
帆布
--GrandFatherCanvas
---- FatherCanvas
------ ChildrenCanvas
我需要与第一画布相关的ChildrenCanvas位置。对不起我的英语不好..
答案 0 :(得分:0)
假设您的第一个画布名为firstCanvas
,您应该能够这样做:
Point p = firstCanvas.TranslatePoint(new Point(), controlClicked);
或者您通过TransformToAncestor:
GeneralTransform t = controlClicked.TransformToAncestor(firstCanvas);
Point p = t.Transform(new Point());