Matrix scaling = PresentationSource.FromVisual(windowContent)
.CompositionTarget.TransformFromDevice;
UIElement windowContent = owner.Content as UIElement;
Point upperRightRelativeToContent = new Point(
windowContent.RenderSize.Width + owner.Margin.Right,
-owner.Margin.Top);
Point upperRightRelativeToScreen =
windowContent.PointToScreen(upperRightRelativeToContent);
Point upperRightScaled =
scaling.Transform(upperRightRelativeToScreen);
this.Owner = owner;
this.Left = upperRightScaled.X - this.Width;
this.Top = upperRightScaled.Y;
Window.Content
,您必须使用
VisualTreeHelper.GetChildCount()
和
VisualTreeHelper.GetChild()
ContentPresenter
谁的
Content
Window