Пример #1
0
        protected ViewModelBase(string name, SimpleContainerEx container, IEventAggregator eventAggregator, INavigationServiceProvider navigationServiceProvider,
                                string navigationServiceName, Services.IServiceProvider serviceProvider)
        {
            Name                      = name;
            Container                 = container;
            EventAggregator           = eventAggregator;
            NavigationServiceProvider = navigationServiceProvider;
            ServiceProvider           = serviceProvider;

            if (!string.IsNullOrEmpty(navigationServiceName))
            {
                InitNavigationService(navigationServiceName);
            }
        }
Пример #2
0
        protected override void Configure()
        {
            container = new SimpleContainerEx(); //new WinRTContainer();
            container.RegisterInstance(typeof(SimpleContainerEx), null, container);
            container.Singleton <IWindowManager, WindowManager>();
            container.Singleton <IEventAggregator, EventAggregator>();
            //container.PerRequest<ShellViewModel>();
            SetViewModelConvension(container);

            var provider = new NavigationServiceProvider();

            container.RegisterInstance(typeof(INavigationServiceProvider), null, provider);

            var serviceProvider = new ServiceProvider();

            container.RegisterInstance(typeof(IServiceProvider), null, serviceProvider);
        }
Пример #3
0
        private void SetViewModelConvension(SimpleContainerEx container)
        {
            //ViewLocator.ConfigureTypeMappings()

            //ViewLocator.AddNamespaceMapping("MyProject.ViewModels.Customers", "MyClient1.Views");

            var types = GetType().Assembly.GetTypes();

            foreach (var type in types.Where(t => t.FullName.EndsWith("View")))
            {
                var fullName      = type.FullName;
                var viewModelName = $"{fullName}Model";

                var viewModelType = types.FirstOrDefault(t => t.FullName == viewModelName);
                if (viewModelType == null)
                {
                    throw new TypeLoadException("Couldn't find ViewModel named any like " + string.Join(",", viewModelName));
                }

                container.RegisterPerRequest(viewModelType, null, viewModelType); //RegisterViewModel

                //ViewLocator.AddNamespaceMapping(viewModelType.Namespace.ToString(), type.Namespace.ToString());
            }
        }
Пример #4
0
 public ShellViewModel(string name, SimpleContainerEx container, IEventAggregator eventAggregator, INavigationServiceProvider navigationServiceProvider, string navigationServiceName, IServiceProvider serviceProvider) :
     base(name, container, eventAggregator, navigationServiceProvider, navigationServiceName, serviceProvider)
 {
 }
 public SystemSelectionDialogViewModel(string name, SimpleContainerEx container, IEventAggregator eventAggregator,
                                       INavigationServiceProvider navigationServiceProvider, string navigationServiceName, Services.IServiceProvider serviceProvider) :
     base(name, container, eventAggregator, navigationServiceProvider, navigationServiceName, serviceProvider)
 {
     Systems = new ObservableCollection <Model.System>();
 }