-2

我需要Window在我的Grid. 由于它是一个Window,我无法通过 XAML 将其直接添加到 Grid 中。我可以以编程方式找出网格第二列的中心,以便在显示之前将窗口移到那里吗?

我的第二个窗口只是一个花哨的小消息框。我之前试图将它转换为 aUserControl而不是 a Window,这样我就可以将它直接放在 Grid 的第二列中,但是我不能这样做ShowDialog()。在继续之前,我必须等待用户单击“确定”。

4

3 回答 3

1

对于其他寻找答案的人,这是我最终得到的结果:

private void CenterWindowInRightPane(Window window, UIElement rightPane)
{
    Point loc = rightPane.TransformToAncestor(this).Transform(new Point(0, 0));
    w.Left = (this.Left + loc.X) + (rightPane.ActualWidth - w.ActualWidth) / 2;
    w.Top = (this.Top + loc.Y) + (rightPane.ActualHeight - w.ActualHeight) / 2;
}
于 2013-11-12T19:19:52.887 回答
0

我认为 MDI 接口适合您的情况:http ://wpfmdi.codeplex.com

于 2013-11-12T08:58:02.270 回答
0

您可以使用Popup将网格设置为的aPlacementTarget并设置Placement=Center

于 2013-11-12T09:16:47.137 回答