2009-12-17 35 views
0

我正在开发一些wpf应用程序。基本上我有两种类型的窗口:搜索窗口和插入/编辑窗口。当我开发胜利表格应用程序时,我使用了一种叫做MdiParent的技巧。通过这种方式,我可以将我的caled搜索类型窗口置于“堆栈”中。或者,如果我从meniu调用5个不同的搜索窗口,他们会在一个像tab控件的组件中一个接一个地点击。通过单击该选项卡,我可以看到单击的选项卡窗口的搜索结果。WPF窗口组织技巧

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这样一个窗口,组织技术一个很好的方式,把一些链接或例子..这将是一个很大的:正如我所说的是的MdiParent技术,像诀窍帮助我。

回答

1

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

有关MDI风格功能的示例,请看这个主题link text 其中Marlon Grech写了类似于我相信您正在尝试执行的操作。

0

我们开发了类似的应用程序,因为WPF没有任何默认的MDI框架,但是因为它可以完全自定义,所以你可以做的是,你可以创建你的“窗口”的用户控件而不是Window类型,并且你可以在一个TabControl并且您可以自定义TabControl以使其具有关闭按钮等。标签中的Windows出现在Visual Studio,IE等中,当您不想在模式对话框中阻止用户输入时,它们适用于此类场景。