mvvmcross-如何为多个ViewModel实现单个视图或为多个View实现单个ViewModel

时间:2018-11-17 14:08:38

标签: mvvmcross

如何为多个ViewModel实现单个视图 或单个ViewModel用于MvvmCross中的多个视图

谢谢

1 个答案:

答案 0 :(得分:0)

public partial class App : MvxApplication
{
    protected override void RegisterSetup()
    {
        //this.RegisterSetupType<MvxWpfSetup<Core.App>>(); 
        // 注册自定义设置
        this.RegisterSetupType<Setup>();
    }

}

public class Setup : MvxWpfSetup
{ 
    protected override IMvxApplication CreateApp()
    {
        return new Core.App();
    } 

    protected override void InitializeViewLookup()
    {
        base.InitializeViewLookup();
        // 自定义 视图& VM之间的关系
        var container = Mvx.IoCProvider.Resolve<IMvxViewsContainer>();
        var viewModelViewLookup = new Dictionary<Type, Type>()
        {
            { typeof(NativeViewModel), typeof(Test) },
            { typeof(NestedChildViewModel), typeof(Test) }
        };
        //container.Add(typeof(NativeViewModel), typeof(Test));
        //container.Add(typeof(NestedChildViewModel), typeof(Test));
        container.AddAll(viewModelViewLookup);
    }
}