我想知道这是否可能?似乎一个WPF应用程序必须有一个并且只有一个MainWindow,这就是应用程序的窗口。如果我创建其他窗口并显示它们,它们会像MS Word一样在任务栏中显示为单独的项目吗?
也许有这么简单的事情:
// http://stackoverflow.com/questions/6417558/wpf-and-showdialog
Window window = new Window()
{
Title = "Modal Dialog",
ShowInTaskbar = true, // show the dialog on the taskbar
Topmost = true, // ensure we're Always On Top
ResizeMode = ResizeMode.NoResize // remove excess caption bar buttons
};
window.ShowDialog(Application.Current.MainWindow);
WPF建议使用非MDI接口,因为父窗口只保存WinHandle(与Winforms中的每个MDI子窗口不同,它们有自己的单独WinHandle)。
如果你计划从scartch开始构建,那么这将是一个有点复杂的大项目。。。我建议您使用网络上可用的各种Dockmanagers
,如Infrastics \Avalon Dock\WPF Docking Library(CodeProject)等。
这些的工作原理类似于WinForms中的MDI窗口(即,它可以在父空间中包含子窗口,也可以在排列和停靠时对其进行制表,类似于Visual Studio)
我现在正在开发一个WPF应用程序,它有两个窗口。当应用程序运行时,任务栏中有两个项目,所以是的,这绝对是可能的。
我认为您指的是MDI。
请阅读这篇文章
此外(现在知道这是关于MDI的)这个问题
我好像想得太多了。我所需要做的就是创建子窗口并调用Window.Show()
。
当然,任何"MDI"都不会被烘焙,需要使用此解决方案手动管理。