如何将一个WPF子窗体显示为MDI容器中的普通MDI窗体

3

如何在普通创建的 MDI 窗体中显示 WPF 窗体。

我们创建一个 MDI 窗体。 添加菜单栏,单击菜单后会在主容器 MDI 窗体中显示 WPF 窗体。

enter image description here

 private void newStudentToolStripMenuItem_Click(object sender, EventArgs e)
    {

      StudentRegister student=  new StudentRegister();
     student.ShowDialog(); 
    }

问题是单击任务栏中的子窗体将导致其移出窗口。
1个回答

2
根据我的理解,您想在 MDI 页面内打开子页面。首先,在 WPF 中没有 MDI 窗口。
如果您使用了 "student.ShowDialog();",则页面或窗口将作为弹出窗口打开。
可能的解决方案是:您可以在主窗口上使用 ContentControl,并创建用户控件而不是窗口。然后,您可以将用户控件添加到 ContentControl 中。
<Border ClipToBounds="True" Grid.Row="1" Background="WhiteSmoke">
  <ContentControl x:Name="DetailsControl" Margin="10" HorizontalAlignment="Left"    VerticalAlignment="Top" />
</Border>

var student= new StudentRegister ();
DetailsControl.Content = student;

以下链接可能有所帮助。

http://wpfmdi.codeplex.com/

http://www.codeplex.com/wikipage?ProjectName=AvalonDock

http://www.codeproject.com/Articles/22927/Multiple-Window-Interface-for-WPF


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接