我有一个可以创建另一个 ViewModel 的 ViewModel。
我想将此 ViewModel 设置为现有 View 的数据上下文,然后导航到该 View。
在 MyViewModel
private void CreateNewOrder()
{
var order = new OrderViewModel(new Order(){/* setup some things */});
// another ViewModel subscribes to MyCustomEvent
this.eventAggregator.GetEvent<MyCustomEvent>().publish(order);
this.regionManager.RequestNavigate("DetailRegion", new Uri("OrderView", UriKind.Relative));
}
问题是 ...
- 我的 ViewModel 需要参考区域名称和视图名称。
- “DetailRegion”必须包含“OrderView”对象。
- DetailView.DataContext 设置为 OrderViewModel(使用聚合事件订阅)
这是紧耦合吗?
我花了一些时间查看 Prism Quickstart 项目,发现“控制器”或太复杂的东西。
我只是想简化解耦 View-ViewModel。