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); } }
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); }
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()); } }
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>(); }