Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVVM中创建聚合视图模型?_C#_Visual Studio_Ms Access - Fatal编程技术网

C# 如何在MVVM中创建聚合视图模型?

C# 如何在MVVM中创建聚合视图模型?,c#,visual-studio,ms-access,C#,Visual Studio,Ms Access,如何在MVVM中创建聚合视图模型?基本上我想将多个视图模型添加到一起。这是我试过的 using System; using System.Windows.Input; using Microsoft.VisualStudio.Shell.Interop; namespace NavigationAssistant { internal class NavigationAssistantViewModel { private IVsUIShell uiShell;

如何在MVVM中创建聚合视图模型?基本上我想将多个视图模型添加到一起。这是我试过的

using System;
using System.Windows.Input;
using Microsoft.VisualStudio.Shell.Interop;

namespace NavigationAssistant
{
    internal class NavigationAssistantViewModel
    {
        private IVsUIShell uiShell;

        private IServiceProvider _serviceProvider { get; }

        public NavigationAssistantViewModel(IVsUIShell uiShell, IServiceProvider serviceProvider)
        {
            this.uiShell = uiShell;
            this._serviceProvider = serviceProvider;
        }

        private ICommand changeThemeCommand;

        public ICommand ChangeThemeCommand
        {
            get
            {
                return this.changeThemeCommand ?? (this.changeThemeCommand = new VSCommand(this._serviceProvider, this.uiShell));
            }
        }
   }
}

没有更多的信息,我过去所做的只是两件事之一

  • 将每个MVVM类重构为独立的MVVM类
  • 创建一个包含相关类的MVVM类

    internal class WrapperViewModel
    {
        private IVsUIShell uiShell;
        private IServiceProvider _serviceProvider { get; }
    
        public WrapperViewModel(IVsUIShell uiShell, IServiceProvider serviceProvider)
        {
        }        
    
        //multiple classes
        public NavigationAssistantViewModel NavigationAssistantViewModel { get;set;}
        public MvvmClass2 MvvmClass2 { get;set;}
    }
    
    //multiple classes      
    private class NavigationAssistantViewModel {
    
    }
    
    private class MvvmClass2 {
    
    }
    
  • 这有用吗?如果没有,你能澄清你的问题吗