我正在将模式对话框移植到非模式对话框。
我的问题是:uiCompletedEventArgs.Result
为空。
我已经看到启用了调试异常,将引发以下异常“仅在创建Window并将其显示为对话框之后才能设置DialogResult”。
这是我的代码片段
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
按钮?谢谢你的建议。
最佳答案
不幸的是,调用window.Show时无法设置DialogResult(WPF限制,仅在使用window.ShowDialog时才可能)。因此,您需要执行以下操作之一:
订阅视图模型的已取消或已保存事件,以检查它是否已保存或已取消
创建一个您注入到保持状态的vm中的模型
关于c# - 使用uiVisualizerservice.Show获取DialogResult,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31478536/