如何获得WPF中UIElement的左,上,右,下点?

时间:2012-09-26 13:32:54

标签: c# wpf panel uielement

我想找到Left,Top,Right,Bottom的{​​{1}}。我试过但失败了没有结果。

这里的任何人都可以知道如何获得这些吗?

实际上,我正在WPF中创建一个自定义面板。

我不想从Canvas继承。

UIElement

2 个答案:

答案 0 :(得分:1)

尝试

Point position = ElementBeingDragged.TranslatePoint(new Point(0, 0), UIElementRelativeTo);

e.g。获得Point相对于包含Window:

Point position = ElementBeingDragged.TranslatePoint(new Point(0, 0), Window.GetWindow(ElementBeingDragged));

答案 1 :(得分:0)

您可以尝试使用此代码 - 基于TransformToAncestor

private Point GetPosition(Visual item) 
{
   var transformToAncestor = item.TransformToAncestor(MyForm);

   var position = transformToAncestor.Transform(new Point(0, 0));

   return position;
}