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

Asa*_*saf 13 wpf mdi

我非常喜欢MDI应用程序.

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

对错练习,我喜欢它.

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

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

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

Gov*_*ert 10

CodePlex上有两个受欢迎的项目可能对您有所帮助:

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

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

编辑:

我发现第三个看起来非常时髦:Chronos WPF.


Asa*_*saf 7

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

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

我讨厌游泳游戏,所以我一旦理解就退出了,尽管可以用现代的微软应用程序创建一个MDI应用程序,如silverlight,wpf,甚至可能是windows-phone,但微软真的无法提供它并且不提供任何支持(据我所知).

希望它有助于其他人想知道我们的老MDI"父亲"发生了什么.


Pet*_*teT 3

我不认为他们是这样做的内置方式。然而,您可能想考虑从 DevExpress、Component One、Infragisitcs、Telerik 等公司购买一组用户控件...我认为他们中的大多数都会有与 VS2010 工作方式类似的控件。我知道 DevExpress 可以。