我正在开发一些wpf应用程序。基本上我有两种类型的窗口:搜索窗口和插入/编辑窗口。当我开发win form apps时,我使用了一种名为MdiParent的技巧。通过这种方式,我有能力将我的caled搜索类型窗口放在“堆栈”中。如果我从meniu调用了5个不同的搜索窗口,那么他们就像一个接一个地跟踪一个组件,如tab控件。通过单击这些选项卡,我可以看到点击选项卡窗口的搜索结果。我说的技巧是MdiParent技术,如:
private ProductDiscount frmProductDiscount = null;
private void ProductDiscountToolStripMenuItem_Click(object sender, EventArgs e)
{
if ((frmProductDiscount == null) || (!frmProductDiscount.Visible))
{
frmProductDiscount = new ProductDiscount();
frmProductDiscount.MdiParent = this;
frmProductDiscount.Show();
}
else
{
frmProductDiscount.Activate();
}
}
那么我是否可以建议一个在WPF中实现这种窗口组织技术的好方法,并提供一些链接或示例..?这对我来说是一个很大的帮助。
答案 0 :(得分:1)
WPF中没有Form.MDIParent的等价物,MDI不支持MDI布局。您可以将Windows所有者设置为另一个窗口。当父母被最小化时,这将最小化孩子。
有关MDI样式功能的示例,请查看此主题link text 马龙格雷奇写过类似于我认为你想做的事情。
答案 1 :(得分:0)
我们开发了类似的应用程序,因为WPF没有任何默认的MDI框架,但由于它可以完全自定义,你可以做的是,你可以创建“Window”的用户控件而不是Window类型,你可以在TabControl中使用您可以自定义TabControl以使其具有关闭按钮等。当它们出现在Visual Studio,IE等中时,它们适用于这种类型的场景,当您不希望在模态对话框上阻止用户输入时。