如何在 WPF 应用程序中实现 mdi [英] How to implement mdi in a WPF application

查看:51
本文介绍了如何在 WPF 应用程序中实现 mdi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的很喜欢 MDI 应用程序.

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

无论是对还是错,我都喜欢.

我看到了堆栈溢出问题WPF 中的 MDI 应用程序,然后他们给出了 Visual Studio 2010 环境为例.我不明白是否以及如何实现该环境:例如可​​以将标签撕下到独立屏幕(对我来说不太重要)并与其余标签并排重新排列.

我想我正在寻找WPF 中的停靠布局系统",在 google 上搜索此提供的第三方组件.

我想我将从普通"应用程序开始.感觉这里没有简单的开箱即用的实现.

解决方案

CodePlex 上有两个流行的项目可以帮助您:

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

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

我发现第三个看起来很时髦:Chronos WPF.>

I really like MDI applications.

It allows me to move quickly between windows and compare the content of different windows. Furthermore, sometime the content of one window is useful for another, so I can copy and paste. I think it's a great user experience for working mode.

Right or wrong practice, I love it.

I saw Stack Overflow question MDI applications in WPF, and there they gave the Visual Studio 2010 environment as an example. I didn't understand if and how it is possible to implement that environment: like having tabs that can be tear off to independent screen (less important for me) and rearranged side by side with the rest of the tabs.

I guess that I am looking for "docking layout system in WPF", googleing this offer third-party components.

I think I'll start with a "normal" application. It feels like there is no easy out-of-the-box implementation here.

解决方案

There are two popular projects on CodePlex that might help you:

  • AvalonDock - a docking library in the style of Visual Studio, and
  • WpfMdi which is a classic MDI window manager.

AvalonDock supports separate tab-sets side-by-side and also tear-off windows like Visual Studio, so it should give you everything you need, though not exactly classical MDI. It is used in SharpDevelop, so you could download that to play around and get an idea of how the docking library can be used.

Edit:

And I found a third one which looks very snazzy: Chronos WPF.

这篇关于如何在 WPF 应用程序中实现 mdi的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆