我正在创建一个模态窗口,将其 DataContext
分配给我的 View 模型,然后调用 ShowDialog
。
var vm = new MyViewModel(); // implements INotifyPropertyChanged
// populate vm properties here
var window = new MyWindow(); // inherits from System.Windows.Window
window.DataContext = vm;
window.ShowDialog();
但是,我想从 async
方法的结果填充 View 模型的属性。
vm.Result = await provider.GetResultAsync();
我希望这些更改对窗口中的数据绑定(bind)属性可见。
我无法在调用 ShowDialog
之前执行此操作,因为只有在结果可用后才会调用 ShowDialog
。
在调用 ShowDialog
后我无法执行此操作,因为 ShowDialog
会阻塞,直到窗口关闭。
我该怎么做?
最佳答案
将此代码移动到 MyWindow 类中
然后在window_loaded()中
var vm = new MyViewModel(); // implements INotifyPropertyChanged
// populate vm properties here
this.DataContext = vm;
关于c# - 在调用 ShowDialog 之后/期间使用异步值更新 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61897452/