【问题标题】:MessageDialog missing in C# WPFC# WPF 中缺少 MessageDialog
【发布时间】:2018-04-12 10:31:29
【问题描述】:

我是 WPF C# 的新手。

我想使用 MessageDialog,但我无法实例化它,因为我找不到它的命名空间引用。

请注意,我可以使用 MessageBox。

我在这里截图:

我应该怎样解决这个问题?


更新 我尝试按照一些删除了他的答案的用户的建议使用 ModalWindow,但我遇到了同样的问题。

【问题讨论】:

  • WPF 和 WinForms 是不同的,你不应该使用来自 System.Windows.Forms 命名空间的东西(甚至不应该引用库)。 WPF 有自己的 MessageBox
  • 另外,不确定MessageDialog 应该是什么,但it's not part of the .NET Framework。你的意思是 UWP MessageDialog class
  • here看到的。
  • 正如另一个地方所说,MessageDialog 来自 UWP。虽然与 WPF 类似,但具有完全不同的目标框架。 WPF 中与 WindowsForms MessageBox 最接近的等价物是 MessageBox (msdn.microsoft.com/en-us/library/ms602949.aspx)
  • 为什么不直接使用 System.Windows.MessageBox.Show("..."); ?

标签: c# wpf assembly-references messagedialog


【解决方案1】:

MessageDialog 是一个 UWP 类,因此它仅适用于 Windows 10 应用商店应用程序。据我所知,它在 WPF 中不存在。
命名空间是Windows.UI.Popups

【讨论】:

  • 你是对的,它不是 WPF 的一部分,它只适用于 UWP 应用程序。不知道为什么 OP 在 WinForms 中寻找它
  • 好的,谢谢。这是我需要理解的。但是,没有必要对这个问题投反对票,我努力做到清晰易懂。
  • @kitsune:没有人知道“MessageBox”是什么。也不是你为什么在 Windows.Forms 命名空间中寻找它。
  • @kitsune:你有一个 XY 问题的书本示例 (meta.stackexchange.com/questions/66377/what-is-the-xy-problem) 你有一个 X 问题(没有尊重设计)。说服自己 Y (MessageDialog) 是唯一的解决方案。因此从未解释过 X
  • 如果 Windows.IU.Popups 命名空间仅适用于 UWP,我如何在 WPF 中使用类似的东西?
猜你喜欢
  • 2017-01-25
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
  • 2017-07-26
  • 2010-11-30
  • 2016-06-28
相关资源
最近更新 更多