protected override void OnStartup(object sender, StartupEventArgs e) { ViewLocator.LocateTypeForModelType = (modelType, dependencyObject, arg3) => ViewModelConventions.GetViewForModel(modelType); lifetimeScope.Resolve <AutoSubscriber>().Subscribe(); lifetimeScope.Resolve <IWindowManager>().ShowDialog(lifetimeScope.Resolve <ShellViewModel>()); base.OnStartup(sender, e); }
static Window GetWindow <T>(T model) where T : INotifyPropertyChanged { var viewType = ViewModelConventions.GetViewForModel(typeof(T)); var view = (ContentControl)Activator.CreateInstance(viewType); var window = new Window { Content = view, Height = 400, Width = 400, }; ViewModelBinder.Bind(model, view, null); return(window); }
public static IContainer BuildContainer() { var builder = new ContainerBuilder(); builder.Register <IWindowManager>(c => new WindowManager()).InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(ThisAssembly()) .Where(type => (ViewModelConventions.IsInstanceViewOrModel(type))) .AsSelf() .InstancePerDependency(); builder.RegisterType <EventAggregator>() .As <IEventAggregator>() .SingleInstance(); builder.RegisterType <WindowManager>() .As <IWindowManager>() .SingleInstance(); builder.RegisterType <InstallFeedbackReporter>() .SingleInstance(); builder.RegisterType <ShellViewModel>() .SingleInstance(); builder.RegisterType <PowerShellRunner>() .SingleInstance(); builder.RegisterType <ChocolateyInstaller>() .SingleInstance(); builder.RegisterType <ProcessRunner>() .SingleInstance(); builder.RegisterType <LicenseAgreement>() .SingleInstance(); builder.RegisterType <PackageManager>() .SingleInstance(); builder.RegisterType <AppBootstrapper>() .SingleInstance(); builder.RegisterType <AutoSubscriber>(); builder.RegisterType <PackageDefinitionService>() .SingleInstance(); builder.RegisterType <PendingRestart>() .SingleInstance(); return(builder.Build()); }
public AppBootstrapper(ILifetimeScope lifetimeScope) : base(useApplication: false) { this.lifetimeScope = lifetimeScope; ViewLocator.LocateTypeForModelType = (modelType, dependencyObject, arg3) => ViewModelConventions.GetViewForModel(modelType); }