Update to include the new message service and common dialog service
git-svn-id: file:///srv/devel/repo-conversion/dumps/svni@3 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
		
							parent
							
								
									f812cbf209
								
							
						
					
					
						commit
						30aebf3d64
					
				
					 1 changed files with 36 additions and 28 deletions
				
			
		|  | @ -25,42 +25,50 @@ using Ninject.Activation; | ||||||
| using Ninject.Modules; | using Ninject.Modules; | ||||||
| 
 | 
 | ||||||
| using Nuclex.Windows.Forms.AutoBinding; | using Nuclex.Windows.Forms.AutoBinding; | ||||||
|  | using Nuclex.Windows.Forms.CommonDialogs; | ||||||
|  | using Nuclex.Windows.Forms.Messages; | ||||||
| 
 | 
 | ||||||
| namespace Nuclex.Windows.Forms.Ninject { | namespace Nuclex.Windows.Forms.Ninject { | ||||||
| 
 | 
 | ||||||
| 	/// <summary>Sets up the service bindings for an MVVM-based WPF application</summary> |   /// <summary>Sets up the service bindings for an MVVM-based WPF application</summary> | ||||||
| 	public class MvvmModule : NinjectModule { |   public class MvvmModule : NinjectModule { | ||||||
| 
 | 
 | ||||||
| 		/// <summary>Called when the module is loaded into the kernel</summary> |     /// <summary>Called when the module is loaded into the kernel</summary> | ||||||
| 		public override void Load() { |     public override void Load() { | ||||||
| 
 | 
 | ||||||
| 			// The window manager keeps track of active windows and can figure out |       // The task dialog message service actually supports two interfaces | ||||||
| 			// which window to display for a view model by its naming convention. |       Kernel.Bind<IMessageService>().To<StandardMessageBoxManager>().InSingletonScope(); | ||||||
| 			Kernel.Bind<WindowManager>().To<NinjectWindowManager>().InSingletonScope(); |  | ||||||
| 			Kernel.Bind<IWindowManager>().ToMethod(getWindowManager).InSingletonScope(); |  | ||||||
| 			Kernel.Bind<IActiveWindowTracker>().ToMethod(getWindowManager).InSingletonScope(); |  | ||||||
| 			Kernel.Bind<IAutoBinder>().ToMethod(CreateAutoBinder).InSingletonScope(); |  | ||||||
| 
 | 
 | ||||||
| 		} |       // Use the common dialog manager to display file open, save or print dialogs | ||||||
|  |       Kernel.Bind<ICommonDialogService>().To<CommonDialogManager>().InSingletonScope(); | ||||||
| 
 | 
 | ||||||
| 		/// <summary>Creates and initializd the auto view model binder</summary> |       // The window manager keeps track of active windows and can figure out | ||||||
| 		/// <param name="context"> |       // which window to display for a view model by its naming convention. | ||||||
| 		///   Context containing environmental informations about the request and the kernel |       Kernel.Bind<WindowManager>().To<NinjectWindowManager>().InSingletonScope(); | ||||||
| 		/// </param> |       Kernel.Bind<IWindowManager>().ToMethod(getWindowManager).InSingletonScope(); | ||||||
| 		/// <returns>The view model auto binder that will be used by the application</returns> |       Kernel.Bind<IActiveWindowTracker>().ToMethod(getWindowManager).InSingletonScope(); | ||||||
| 		protected virtual IAutoBinder CreateAutoBinder(IContext context) { |       Kernel.Bind<IAutoBinder>().ToMethod(CreateAutoBinder).InSingletonScope(); | ||||||
| 			return new ConventionBinder(); |  | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 		/// <summary>Retrieves the window manager from the kernel</summary> |     } | ||||||
| 		/// <param name="context"> |  | ||||||
| 		///   Context containing environmental informations about the request and the kernel |  | ||||||
| 		/// </param> |  | ||||||
| 		/// <returns>The window manager registered to the kernel</returns> |  | ||||||
| 		private static WindowManager getWindowManager(IContext context) { |  | ||||||
| 			return context.Kernel.Get<WindowManager>(); |  | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 	} |     /// <summary>Creates and initializd the auto view model binder</summary> | ||||||
|  |     /// <param name="context"> | ||||||
|  |     ///   Context containing environmental informations about the request and the kernel | ||||||
|  |     /// </param> | ||||||
|  |     /// <returns>The view model auto binder that will be used by the application</returns> | ||||||
|  |     protected virtual IAutoBinder CreateAutoBinder(IContext context) { | ||||||
|  |       return new ConventionBinder(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /// <summary>Retrieves the window manager from the kernel</summary> | ||||||
|  |     /// <param name="context"> | ||||||
|  |     ///   Context containing environmental informations about the request and the kernel | ||||||
|  |     /// </param> | ||||||
|  |     /// <returns>The window manager registered to the kernel</returns> | ||||||
|  |     private static WindowManager getWindowManager(IContext context) { | ||||||
|  |       return context.Kernel.Get<WindowManager>(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
| } // namespace Nuclex.Windows.Forms.Ninject | } // namespace Nuclex.Windows.Forms.Ninject | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue