【问题标题】:WPF container window/child window. Possible?WPF 容器窗口/子窗口。可能的?
【发布时间】:2015-04-19 21:59:36
【问题描述】:

我有一个 WPF 应用程序,其主窗口包含一个菜单。每个菜单项都会创建一个相应的弹出窗口。

有什么方法可以将这些窗口包含在主窗口中,即它们始终保持在主父窗口的边界内,并且当父窗口最小化时,这些窗口也被最小化,只有父窗口出现在任务栏。

编辑:我显然可以使用用户控件,但项目规范要求能够并排打开多个窗口。

谢谢

【问题讨论】:

  • 您是否正在寻找使用 WPF 的 MDI 实现?

标签: wpf


【解决方案1】:

试试这个

newWindow.Owner = Window.GetWindow(this);

其中newWindow 是弹出窗口的名称。或者

// Create a window and make this window its owner
Window ownedWindow = new Window();
ownedWindow.Owner = this;
ownedWindow.Show();

了解更多关于Window.Owner

【讨论】:

  • 嗨,Saagar,谢谢。这解决了我一半的问题,即当我最小化我的主窗口时,其他窗口最小化,只有容器窗口在任务栏中可见。非常感谢您的帮助。
【解决方案2】:

如果它不应该是一个窗口,你为什么要使用它。

改用页面或用户控件。只需将“子窗口”的基类更改为适合您需要的内容即可。

【讨论】:

  • 项目需求要求能够并排打开多个窗口。
  • 将窗口拆分为一个简单的“主机”,它可以包含任何用户控件并将整个 UI 实现为用户控件,现在您可以在一个窗口中并排显示用户控件,或者在自己的窗口中显示每个用户控件
  • 我已经这样做了,但这不是我的问题。 Saagar 给了我一个很好的解决方案。感谢您的帮助。
  • 我误解了你的问题,因为 Saagar 确实回答了它,你应该将它标记为答案。
猜你喜欢
  • 1970-01-01
  • 2011-10-19
  • 2015-08-05
  • 2010-11-06
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多