如何在WPF应用程序中实现mdi

时间:2010-10-29 11:59:15

标签: wpf mdi

我非常喜欢MDI应用程序。

它允许我在窗口之间快速移动并比较不同窗口的内容。此外,有时一个窗口的内容对另一个窗口的内容很有用,所以我可以复制和粘贴。我认为这对于工作模式来说是一种很棒的用户体验。

正确或错误的练习,我喜欢它。

我看到Stack Overflow问题 MDI applications in WPF ,他们以Visual Studio 2010环境为例。我不明白是否以及如何实现该环境:比如有可以撕下独立屏幕的标签(对我来说不那么重要),并与其余标签并排重新排列。

我想我正在寻找“WPF中的对接布局系统”,谷歌这个提供第三方组件。

我想我会从一个“正常”的应用程序开始。感觉就像这里没有简单的开箱即用的实现。

3 个答案:

答案 0 :(得分:10)

CodePlex上有两个可能对您有帮助的热门项目:

  • AvalonDock - Visual Studio风格的对接库,
  • WpfMdi这是一个经典的MDI窗口管理器。

AvalonDock并排支持单独的选项卡集,也可以像Visual Studio一样拆除窗口,因此它应该为您提供所需的一切,尽管不是完全经典的MDI。它在SharpDevelop中使用,因此您可以下载它以便了解如何使用停靠库。

编辑:

我找到了第三个看起来非常时髦的人:Chronos WPF

答案 1 :(得分:7)

出于某种原因,微软认为MDI是错误的。在Google中搜索时,有很多相关信息。

我认为杀死很多人喜欢的东西并且在我访问的论坛中是错误的,有些人指出一个新的微软示例在MDI中起作用,强调它是构建应用程序的合法方式。< / p>

我讨厌游泳对抗游戏,因此我尽快退出,尽管可以创建一个带有现代微软应用程序的MDI应用程序,例如silverlight,wpf甚至可能是windows-phone,但是微软真的无法解决这个问题。提供任何支持(据我所知)。

希望对其他人有所帮助,他们会对我们这位老好的MDI“父亲”发生的事情感到疑惑。

答案 2 :(得分:3)

我不认为他们是这样做的内置方式。但是你可能想看看从DevExpress,Component One,Infragisitcs,Telerik等人那里购买一组用户控件...我认为他们中的大部分都会对VS2010的工作方式有类似的控制。我知道DevExpress会这样做。