2009-09-21 91 views
0

我有一个InkCanvas,它的子项通过C#以编程方式添加进来。它们没有设置InkCanvas.LeftPropertyInkCanvas.TopProperty。我想知道是否可以得到这些元素的默认X和Y值。目前如果我检查InkCanvas.LeftPropertyInkCanvas.TopProperty它将返回NaN,因为它们未设置。这可能吗?预先感谢您的帮助。获取WPF中的InkCanvas中元素的X坐标

干杯,

尼鲁

回答

0

您想使用Canvas定义的各种静态方法来获取这些值 - GetLeft()GetTop(),等等。我相信LeftProperty是附加属性本身的公正定义,不是获得价值的方式。

+0

是的,你说得对。但是,即使我使用这些方法的值是NaN。但是我能够找到VisualTreeHelper方法,它将返回元素相对于父级(InkCanvas)的偏移量。这似乎工作atm。谢谢你的帮助。 :) – Nilu

2

我认为这可能是答案:

Vector vector = VisualTreeHelper.GetOffset(element);

它返回与该元素相对于父偏移向量。更多信息可以在here找到。

编辑:不要认为这会帮助我做我想做的事。虽然最初设置元素的边距是一种很好的方法。就我而言,我认为我必须明确设定坐标。