0

の を見つけたいLeft,Top,Right,BottomですUIElement。私は試しましたが、結果はありませんでした。

ここにいる人は、これらを入手する方法を知っていますか?

実はWPFでカスタムパネルを作成しています。

Canvas から継承したくありません。

Size elemSize = this.ElementBeingDragged.DesiredSize;
// Get the element's offsets from the four sides of the Panel.
Vector v= VisualTreeHelper.GetOffset(this.ElementBeingDragged);
double left = v.X;
double right = v.X + elemSize.Width;
double top = v.Y;
double bottom = v.Y+elemSize.Height;
4

2 に答える 2

0

このコードで試すことができます-に基づいてTransformToAncestor

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

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

   return position;
}
于 2012-09-26T13:36:47.443 に答える