vXt*_*eme 3 c# silverlight prism mvvm viewmodel
我无法弄清楚如何从其他视图或视图模型将参数传递给我的viewmodel.
例如,我有一个名为Customers的视图.内部有一个网格,如果双击网格,则应该出现一个新视图,允许您编辑该客户的数据.但是,如果我不能传递任何参数,那么负责编辑数据的View(模型)将如何知道它应该打开哪个客户?
EventAggregator是不可能的,因为我显然无法为一个视图创建数百个事件标记.此外,这是一个糟糕的解决方案.
到目前为止,我能够提出:
CustomerDataView custView = new CustomerDataView(customerId, currentContext);
manager.Regions[RegionNames.Sidebar].AddAndActivate(custView);
Run Code Online (Sandbox Code Playgroud)
您对此特定解决方案有何看法?这是通常的方式吗?我不喜欢这样的事实是我失去了Unity的自动依赖注入.
或者,您可以将Unity升级到最新版本,该版本支持"参数覆盖".
MyType mt = container.Resolve<MyType>(
new ParameterOverride("customerId", customerId));
Run Code Online (Sandbox Code Playgroud)
这就是我所做的.我们发现子容器保留了对其父级的循环引用,并且无法正确收集(泄漏的内存),因此我们进行了升级并选择了此方法.
| 归档时间: |
|
| 查看次数: |
5090 次 |
| 最近记录: |