【问题标题】:WPF MDI childrenWPF MDI 儿童
【发布时间】:2010-12-28 11:27:34
【问题描述】:

这个问题之前已经发过,但是我找不到好的答案。

我希望在我的 WPF 应用程序中使用 MDI 子级。我希望这些孩子完全符合 WPF。

.Net WPF 不再有 MDI 子项(主窗口中的窗口)。有人说这是因为设计已经过时,GUI 应用程序不应该这样设计。这些人可以避免回答这个帖子。我知道我需要什么。 :)

WPF MDI 有哪些(最好是免费的)替代方案? 他们会使用 MVVM 吗?

编辑: 人 - 不要投票支持说“MDI 不好”的 cmets。我特别要求人们避免这种情况。我要的是 MDI 窗口,而不是被告知不要使用 MDI 窗口。

【问题讨论】:

  • 您之前看到的问题的答案有什么问题?除非您告诉我们为什么这些解决方案对您不起作用,否则人们会再次发布它们。例如:wpfmdi.codeplex.com
  • 我不记得它出了什么问题 - 但你说得很好,我应该更具体。一旦我再次“在代码中”(明年某个时候),我会尽快回到这个问题。
  • 刚刚尝试了带有 WPF-MDI 的 MVVM 灯。我在 MDI 子项(用户控件)的菜单和按钮中绑定了 Commands。它工作正常。

标签: wpf mdi


【解决方案1】:

我知道你不想听到这个,但MDI 基本上是为了在应用程序的主窗口中复制桌面隐喻,这让最终用户有点困惑,因为它涉及多个级别的窗口管理:

技术:现在点击另一个窗口内活动窗口的Maximize按钮 你刚刚恢复到正常大小,一切都应该没问题。

客户:什么?

Tab-based interfaces 通常被认为是 MDI 的更好替代品。您可能想使用TabControl 类并阅读Josh Smith's MVVM article on MSDN Magazine,它演示了如何在TabItems 中托管您的视图。

【讨论】:

  • 我不反对,但我不同意。在某些情况下,我们需要 MDI。比如说一个 mIRC 克隆,每个人都期望 MDI 窗口行为,并希望同时关注多个通道。我们不能因为一些不好的用途而忽略它。
  • @Tedd,我同意 MDI 仍有其用途,但由于 WPF 不支持开箱即用的隐喻,因此可能很难找到与 MVVM 配合得很好的模拟解决方案。 ..
  • 完全不同意,MDI 在控制许多子窗口方面非常有用。看看 Photoshop CC 的噩梦——试试 Alt-tabbing 到另一个应用程序。选项卡式应用程序对某些东西来说还可以,但对其他人来说却很糟糕。 MDI 应该被视为盒子里的另一个工具,而不是因为时尚而被讨厌。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多