【问题标题】:Getting DialogResult using uiVisualizerservice.Show使用 uiVisualizerservice.Show 获取 DialogResult
【发布时间】:2015-07-17 14:45:58
【问题描述】:

我正在将模态对话框移植到非模态对话框。

我的问题是:uiCompletedEventArgs.Result 为空。

我看到启用调试异常后抛出以下异常“只有在创建窗口并显示为对话框后才能设置DialogResult。”

这是我的代码的 sn-p

 var viewmodel = viewModelFactory.CreateViewModel<GenericViewModel>(someIds);

       uiVisualizerService.Show(viewmodel, CompletedProc);
    }

    private async void CompletedProc(object sender, UICompletedEventArgs uiCompletedEventArgs)
    {
        if (uiCompletedEventArgs.Result.HasValue && uiCompletedEventArgs.Result.Value) //here's null
        { ... }

如何判断用户点击了Yes 还是Cancel 按钮?

感谢您的建议。

【问题讨论】:

    标签: c# wpf catel


    【解决方案1】:

    不幸的是,您在调用 window.Show 时无法设置 DialogResult(WPF 限制,只有在使用 window.ShowDialog 时才有可能)。因此,您需要执行以下操作之一:

    1. 订阅视图模型的 Canceled 或 Saved 事件以检查它是保存还是取消
    2. 创建一个模型,注入到保存状态的 vm 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-05
      • 2011-09-10
      • 2013-05-26
      • 2014-02-22
      • 1970-01-01
      • 2019-03-22
      • 2012-03-30
      • 1970-01-01
      相关资源
      最近更新 更多