The IUIVisualizerService allows a developer to show (modal) windows or dialogs without actually referencing a specific view. Internally, the UIVisualizerService uses the ViewLocator to resolve views.
To show a non-modal window, use the following code:
var viewModel = new EmployeeViewModel(); var dependencyResolver = this.GetDependencyResolver(); var uiVisualizerService = dependencyResolver.Resolve<IUIVisualizerService>(); uiVisualizerService.Show(viewModel); |
To show a modal window, use the following code:
var viewModel = new EmployeeViewModel(); var dependencyResolver = this.GetDependencyResolver(); var uiVisualizerService = dependencyResolver.Resolve<IUIVisualizerService>(); uiVisualizerService.ShowDialog(viewModel); |
To show a (modal or non-modal) window and get a callback as soon as the window is closed, use the following code:
var viewModel = new EmployeeViewModel(); var dependencyResolver = this.GetDependencyResolver(); var uiVisualizerService = dependencyResolver.Resolve<IUIVisualizerService>(); uiVisualizerService.Show(viewModel, OnWindowClosed); |
To register a custom window which is not automatically detected via reflection, it is required to use the Register method:
var dependencyResolver = this.GetDependencyResolver(); var uiVisualizerService = dependencyResolver.Resolve<IUIVisualizerService>(); uiVisualizerService.Register(typeof(EmployeeViewModel), typeof(EmployeeView)); |
Please see the ViewLocator topic.