获取新的 Messagebox 样式 - WPF

Get new Messagebox style - WPF

我目前正在开发 Windows Presentation Foundation 应用程序,我需要使用消息框。我想从消息框弹出窗口中获取用户的一些信息。

但他们总是这样出现:

但我认为它的实际外观应该是这样的:

有谁知道这是为什么,如何解决?我尝试了列出的所有内容 here , 但没有任何效果。

MessageBox 非常有限。根据您的屏幕截图,您应该使用自己的 XAML 创建自己的 child Window,这样您就可以获得用户输入。

我同意 Keithernet,建立你自己的。它更像是一个输入对话框。你可能想计划它来创建一个 window,用 ex: 4 参数创建它,你可以覆盖这些参数,这样你就可以以包括

的形式应用它们
The title,
The prompt you want the user to fill in
optional default button 1 text
optional default button 2 text.

将输入值存储到 window 中的 public 属性 中,以便在输入期间绑定文本。

如果用户单击取消按钮(或类似按钮),清除文本条目并关闭 window。如果确定按钮,只需关闭 window.

然后,当您使用 YourWindow.ShowDialog() 调用它时,在 return 上,您可以查看该输入文本值的 public 属性。

您甚至可以使用 属性 / 标志来判断用户是否直接取消。我在我的几个 WPF 应用程序中做过类似的事情。

您可以在 GitHub 上找到此示例服务 implementations/NuGets。这是我前段时间创建的:https://github.com/Dirkster99/MsgBox

在我看来,只创建您自己的是一种过于简单化的说法,因为这通常是您希望在应用程序的不同部分显示的对话框。因此,您必须满足于软件设计模式(我按照建议选择了服务实现here)。

同样,还有其他应该做出的设计决定。例如,我已确保 API 具有与标准 .Net MessageBox 兼容的 Show API 调用子集,以使其应用程序尽可能灵活。我也选择了浅色和深色主题,希望这将使它在任何其他主题中的应用变得容易...