【问题标题】:How to show a dialog with ok and cancel on button click in wpf (mvvm)?如何在wpf(mvvm)中显示一个ok并取消按钮单击的对话框?
【发布时间】:2012-12-28 05:13:17
【问题描述】:

我正在尝试在单击按钮时显示一个带有确定和取消按钮的对话框。根据对话框结果,我想在 wpf 中保存\取消操作。我不确定如何在 wpf 中显示对话框。有什么帮助吗?

【问题讨论】:

    标签: wpf mvvm showdialog


    【解决方案1】:

    【讨论】:

    • 谢谢!但是 WPF 中是否有可用的默认显示对话框?还是我们必须创建自己的对话框?
    • 您需要MessageBox,还是自定义对话框?
    • 我认为到目前为止,MessageBox 就足够了,因为我必须通过显示消息来确认操作。如果用户单击取消,则取消操作,否则保存操作。
    • System.Windows.MessageBox 相当于 WPF 消息框。您应该将消息框包装在 IMesageBoxService 上,并在您的实现中将 DialogBoxResult 映射到是/否等。
    【解决方案2】:

    您不使用 MVVM 来执行此操作。 使用 MVVM 模式意味着从不使用事件和代码隐藏。

    在我看来,使用 MVVM 模式的最佳健康组合是在 XAML 中使用绑定和命令以及其他“MVVM-stuff”,以及事件和代码。如果它与 UI 密切相关(如消息框、双击或线程处理),请使用老式方式的代码。

    所以使用 MessageBox.Show("hello");像往常一样在代码隐藏中,因为它与 UI 相关并且对模型/逻辑的意义较小。 OpenFileDialog 和其他对话框也是如此。

    【讨论】:

      猜你喜欢
      • 2019-01-30
      • 2016-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多