/// <summary> /// Gets the <see cref="IViewManager" /> that will be used in the current application by default. /// </summary> /// <returns>An instance of <see cref="IViewManager" />.</returns> protected override BindingInfo <IViewManager> GetViewManager() { return(BindingInfo <IViewManager> .FromMethod((container, list) => new ViewManagerEx(container.Get <IThreadManager>(), container.Get <IViewMappingProvider>()) { DisposeView = true }, DependencyLifecycle.SingleInstance)); }
protected override BindingInfo <IViewModelPresenter> GetViewModelPresenter() { return(BindingInfo <IViewModelPresenter> .FromMethod((container, list) => { var presenter = new ViewModelPresenter(); presenter.DynamicPresenters.Add(new DynamicViewModelNavigationPresenter()); return presenter; }, DependencyLifecycle.SingleInstance)); }
/// <summary> /// Gets the <see cref="IThreadManager" /> which will be used in all view models by default. /// </summary> /// <returns>An instance of <see cref="IThreadManager" />.</returns> protected override BindingInfo <IThreadManager> GetThreadManager() { #if WPF return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(System.Windows.Threading.Dispatcher.CurrentDispatcher), DependencyLifecycle.SingleInstance)); #elif SILVERLIGHT return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(System.Windows.Deployment.Current.Dispatcher), DependencyLifecycle.SingleInstance)); #elif NETFX_CORE || WINDOWSCOMMON return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(Windows.UI.Xaml.Window.Current.Dispatcher), DependencyLifecycle.SingleInstance)); #endif }
/// <summary> /// Gets the <see cref="IViewModelPresenter" /> that will be used in the current application by default. /// </summary> /// <returns>An instance of <see cref="IViewModelPresenter" />.</returns> protected override BindingInfo <IViewModelPresenter> GetViewModelPresenter() { return(BindingInfo <IViewModelPresenter> .FromMethod((container, list) => { var presenter = new ViewModelPresenter(); presenter.DynamicPresenters.Add( new DynamicViewModelWindowPresenter(container.Get <IViewMappingProvider>(), container.Get <IViewManager>(), container.Get <IThreadManager>(), container.Get <IOperationCallbackManager>())); return presenter; }, DependencyLifecycle.SingleInstance)); }
protected override BindingInfo <IThreadManager> GetThreadManager() { #if WPF if (Context.Platform.Platform != PlatformType.WPF) { return(BindingInfo <IThreadManager> .Empty); } return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(System.Windows.Threading.Dispatcher.CurrentDispatcher), DependencyLifecycle.SingleInstance)); #elif SILVERLIGHT || WINDOWS_PHONE return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(System.Windows.Deployment.Current.Dispatcher), DependencyLifecycle.SingleInstance)); #elif WINDOWSCOMMON return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(Windows.UI.Xaml.Window.Current.Dispatcher), DependencyLifecycle.SingleInstance)); #endif }
protected virtual BindingInfo <IViewMappingProvider> GetViewMappingProvider() { var assemblies = Context.Assemblies; var platformType = Context.Platform.Platform; var isSupportedUriNavigation = platformType == PlatformType.WPF; return(BindingInfo <IViewMappingProvider> .FromMethod((adapter, list) => { return new ViewMappingProvider(assemblies) { IsSupportedUriNavigation = isSupportedUriNavigation }; }, DependencyLifecycle.SingleInstance)); }
protected override BindingInfo <IThreadManager> GetThreadManager() { #if WPF if (Context.Platform.Platform != PlatformType.WPF) { return(BindingInfo <IThreadManager> .Empty); } return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(System.Windows.Threading.Dispatcher.CurrentDispatcher), DependencyLifecycle.SingleInstance)); #elif WINDOWS_UWP if (Context.Mode.HasFlagEx(LoadMode.Design) && Windows.UI.Xaml.Window.Current.Dispatcher == null) { return(base.GetThreadManager()); } return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(Windows.UI.Xaml.Window.Current.Dispatcher), DependencyLifecycle.SingleInstance)); #endif }
protected override BindingInfo <IViewModelPresenter> GetViewModelPresenter() { if (Context.Platform.Platform == PlatformType.WinForms) { return(BindingInfo <IViewModelPresenter> .FromMethod((container, list) => { var presenter = new ViewModelPresenter(); presenter.DynamicPresenters.Add( new DynamicViewModelWindowPresenter(container.Get <IViewMappingProvider>(), container.Get <IViewManager>(), container.Get <IWrapperManager>(), container.Get <IThreadManager>(), container.Get <IOperationCallbackManager>())); return presenter; }, DependencyLifecycle.SingleInstance)); } MvvmApplication.Initialized += MvvmApplicationOnInitialized; return(BindingInfo <IViewModelPresenter> .Empty); }
/// <summary> /// Gets the <see cref="IThreadManager" /> which will be used in all view models by default. /// </summary> /// <returns>An instance of <see cref="IThreadManager" />.</returns> protected override BindingInfo <IThreadManager> GetThreadManager() { if (UseSimpleThreadManager) { return(BindingInfo <IThreadManager> .FromType <SynchronousThreadManager>(DependencyLifecycle.SingleInstance)); } return(BindingInfo <IThreadManager> .FromMethod((container, list) => { var context = SynchronizationContext.Current as WindowsFormsSynchronizationContext; if (context == null) { context = new WindowsFormsSynchronizationContext(); SynchronizationContext.SetSynchronizationContext(context); WindowsFormsSynchronizationContext.AutoInstall = false; } return new ThreadManager(context); }, DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IReflectionManager> GetReflectionManager() { return(BindingInfo <IReflectionManager> .FromMethod((container, list) => ServiceProvider.ReflectionManagerField ?? new ExpressionReflectionManager(), DependencyLifecycle.SingleInstance)); }
/// <summary> /// Gets the <see cref="IThreadManager" /> that will be used in the current application by default. /// </summary> /// <returns>An instance of <see cref="IThreadManager" />.</returns> protected override BindingInfo <IThreadManager> GetThreadManager() { return(BindingInfo <IThreadManager> .FromMethod((container, list) => new ThreadManager(SynchronizationContext.Current), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IValidatorProvider> GetValidatorProvider() { return(BindingInfo <IValidatorProvider> .FromMethod((container, list) => ServiceProvider.ValidatorProviderField ?? new ValidatorProvider(), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <ISerializer> GetSerializer() { var assemblies = Context.Assemblies; return(BindingInfo <ISerializer> .FromMethod((container, list) => new Serializer(assemblies), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IEventAggregator> GetEventAggregator() { return(BindingInfo <IEventAggregator> .FromMethod((container, list) => ServiceProvider.EventAggregatorField ?? new EventAggregator(), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IViewModelProvider> GetViewModelProvider() { return(BindingInfo <IViewModelProvider> .FromMethod((adapter, list) => new ViewModelProvider(adapter.GetRoot()), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IViewMappingProvider> GetViewMappingProvider() { var assemblies = Context.Assemblies; return(BindingInfo <IViewMappingProvider> .FromMethod((adapter, list) => new ViewMappingProvider(assemblies), DependencyLifecycle.SingleInstance)); }
protected virtual BindingInfo <IAttachedValueProvider> GetAttachedValueProvider() { return(BindingInfo <IAttachedValueProvider> .FromMethod((container, list) => ServiceProvider.AttachedValueProvider, DependencyLifecycle.SingleInstance)); }
protected override BindingInfo <IViewMappingProvider> GetViewMappingProvider() { var assemblies = Context.Assemblies; return(BindingInfo <IViewMappingProvider> .FromMethod((adapter, list) => new ViewMappingProviderEx(assemblies) { IsSupportedUriNavigation = false }, DependencyLifecycle.SingleInstance)); }