我需要在Window
的第二列中显示Grid
。由于它是Window
,我无法通过XAML将其直接添加到网格中。我可以通过编程方式找到Grid第二列的中心,以便在显示之前将窗口移动到那里吗?
我的第二个窗口只是一个奇特的小消息框。我之前尝试将其转换为UserControl
而不是Window
,因此我可以将其直接放在Grid的第二列中,但之后我无法对其进行ShowDialog()
。在继续前进之前,我必须等待用户单击“确定”。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
我认为MDI界面适合您的情况:http://wpfmdi.codeplex.com
答案 2 :(得分:0)
您可以使用Popup
将网格设置为PlacementTarget
并设置Placement=Center