我需要相对于Viewbox父级获取Canvas中子项的位置 我试过了:
Point p = viewboxInstance.TranslatePoint(new Point(Canvas.GetLeft(child),Canvas.GetTop(child)),viewboxInstanceParent);
坐标错误! 有解决方案或解决方法吗?
由于
答案 0 :(得分:1)
ViewBox
不会更改其子级的任何属性,包括Canvas
左侧和顶部值。您需要使用子项的实际坐标,而不仅仅是附加的属性值。
只要是TranslatePoint
,您就可以直接在孩子身上致电UIElement
。要引用子项的左上角,可以使用(0,0)这是Point
的默认值,因此new Point()
就足够了。
Point p = child.TranslatePoint(new Point(), viewboxInstanceParent);
祝你好运,
编辑: 以下是此代码的实际视频:ViewboxChildPosition