创建WPF MAInwindow类

时间:2012-03-27 23:40:38

标签: wpf mdi

我们需要在WPF应用程序中模拟MDI窗口。

我们需要的核心功能是将其固定到其父级,在窗口移动时移动,使用它进行最小化等。我们还需要能够将WPF控件作为其父级和剪辑在其范围内。基本上我们的应用程序设计为全屏运行,包含沿顶部和侧面运行的应用程序按钮栏以及沿底部运行的状态栏。 MDI窗口必须位于剩余空间内,并且不会与按钮栏或状态栏重叠。

我们已经找到了DragCanvas的一个项目,他们构建了我们自己的UserControl,看起来像一个标准窗口。我们将整个可用区域(未被按钮栏占用的区域和状态栏)设置为拖动画布。然后我们将自定义窗口看作是拖动画布的子项。

这给了我们所需的基本功能,但是,移动速度非常慢,甚至在窗口内的文本框中输入数据也有很大的滞后。我们将在笔记本电脑上部署该应用程序,其中一些可能已超过4年。我正在测试一台相当新的i7机器,对我来说这很慢。一旦您将多个MDI窗口添加到拖动画布,就可以了。

其他人在使用什么?任何想法为什么我们实现DragCanvas控件会导致这么慢的移动窗口。有时鼠标指针在前后移动时距离窗口超过一英寸。

1 个答案:

答案 0 :(得分:0)

此链接可以帮助您

http://wpfmdi.codeplex.com/

此外,一个有趣的讨论MDIWindow - Tab Bases接口(哪种方法更好)位于

WPF MDI children