使用uiVisualizerservice.Show获取对话结果
本文关键字:对话 结果 获取 Show uiVisualizerservice 使用 | 更新日期: 2023-09-27 18:03:25
我正在将一个模态对话框移植到一个非模态对话框。
我的问题是:uiCompletedEventArgs.Result
为空。
我已经看到启用了调试异常,抛出以下异常"只有在创建窗口并显示为对话框后才能设置对话框。"
这是我的代码片段
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
按钮?
谢谢你的建议。
不幸的是,你不能设置 dialgresult 当你调用窗口。显示(WPF限制,只有在使用window.ShowDialog时才有可能)。因此,您需要执行以下操作之一:
- 订阅视图模型的Canceled或Saved事件以检查它是否被保存或取消
- 创建一个模型,注入到保持状态的vm中