WPF窗口组织技术

时间:2009-12-17 16:27:07

标签: wpf windows generics

我正在开发一些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中实现这种窗口组织技术的好方法,并提供一些链接或示例..?这对我来说是一个很大的帮助。

2 个答案:

答案 0 :(得分:1)

WPF中没有Form.MDIParent的等价物,MDI不支持MDI布局。您可以将Windows所有者设置为另一个窗口。当父母被最小化时,这将最小化孩子。

有关MDI样式功能的示例,请查看此主题link text 马龙格雷奇写过类似于我认为你想做的事情。

答案 1 :(得分:0)

我们开发了类似的应用程序,因为WPF没有任何默认的MDI框架,但由于它可以完全自定义,你可以做的是,你可以创建“Window”的用户控件而不是Window类型,你可以在TabControl中使用您可以自定义TabControl以使其具有关闭按钮等。当它们出现在Visual Studio,IE等中时,它们适用于这种类型的场景,当您不希望在模态对话框上阻止用户输入时。