我们有一个View,称之为FruitView,显示一个名为FruitViewModel的ViewModel.FruitViewModel可以显示特定类型水果的列表.
这一切都很好.
出于几个原因,我们创建了继承自FruitViewModel的AppleViewModel和PearViewModel.它们不做任何事情,所有调用都是对基本视图模型进行的.
当我尝试使用MvxNavigatingObject.ShowViewModel导航到它们时,我想将FruitView注册为AppleViewModel和PearViewModel的视图.
我看不到如何覆盖View到ViewModels的默认链接.我读了一篇建议覆盖Setup类中的GetViewModelViewLookup的帖子,但似乎不存在.我也看过CustomPresenters,但看起来不是正确的方法.
其他人这样做了吗?
谢谢
拍
发现此问题之后如何导航到扩展抽象类的ViewModel?(不是我发布时的建议之一)我发现可以在每个平台的Setup.cs中覆盖的InitializeViewLookup.我正在扩充当前的映射而不是替换所以首先调用base.InitializeViewLookup.
protected override void InitializeViewLookup()
{
base.InitializeViewLookup();
var viewModelViewLookup = new Dictionary<Type, Type>()
{
{ typeof(AppleViewModel), typeof(FruitView) },
{ typeof(PearViewModel), typeof(FruitView) }
};
var container = Mvx.Resolve<IMvxViewsContainer>();
container.AddAll(viewModelViewLookup);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
拍
| 归档时间: |
|
| 查看次数: |
1186 次 |
| 最近记录: |