用类似MS Word的窗口编程WPF应用程序



我想知道这是否可能?似乎一个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"都不会被烘焙,需要使用此解决方案手动管理。

最新更新