如何使用WPF实现MDI窗口

如何使用WPF实现MDI窗口,第1张

1. 在主窗口留一些位置用来 容纳 所有的子窗口. 当需要子窗口时,添加到这个区域中。

2. 在主窗口留一些位置来 容纳 已经最小化的子窗口,就像最后一幅图中下面的一样(传统的 mdi 也就是这样安排最小化了的子窗口的)。这个功能最好用 ListBox 来实现,设置 ListBox 的 ItemPanelTemplate 和 ItemsSource, 对子窗口的最小化和还原绑定。

3. 要实现子窗口的移动,大小, 菜单等,这只能在代码中实现。如何实现,可以探寻网上的代码例子.

上面三步完成后,基本上就成形了.

子窗口的内容,由於子窗口必定是 Content 或者 Items 类型的控件,所以,内容可以随意的和平常一样放置自己的东西 (通过其 Children/Child/Content 来设置)。

假设主窗口为mainWindow,

Window w1=new Window()

//w1的拥有者设置为mainWindow

w1.Owner=this;或者将w1加入到mainWindow的OwnedWindows属性中

然后将w1的Left和Top绑定到mainWindow的相应属性。就可以了,mainWindow的Left和Top属性改变的时候,w1的也会跟着变,可以添加convert,对数据进行加工,关于convert的用法,一两句话说不清楚,你还是去看看书吧。

根据楼主的问题,我觉得完全没有必要用子窗口,可以用panel(stackPanel,DockPanel等)实现,panel也可以拖动的。

http://www.codeplex.com/AvalonDock 在右边有个下载的按钮,下载安装了,重启Visual Studio就可以在Visual Studio用这个控件做出Visual Studio那样的子窗口了,那里还有一些文档,仔细看完就基本上会用那个控件了

祝你成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11861028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存