Chapter.WPF.Navigation
1.2.0
dotnet add package Chapter.WPF.Navigation --version 1.2.0
NuGet\Install-Package Chapter.WPF.Navigation -Version 1.2.0
<PackageReference Include="Chapter.WPF.Navigation" Version="1.2.0" />
paket add Chapter.WPF.Navigation --version 1.2.0
#r "nuget: Chapter.WPF.Navigation, 1.2.0"
// Install Chapter.WPF.Navigation as a Cake Addin #addin nuget:?package=Chapter.WPF.Navigation&version=1.2.0 // Install Chapter.WPF.Navigation as a Cake Tool #tool nuget:?package=Chapter.WPF.Navigation&version=1.2.0
Chapter.WPF.Navigation
Chapter.WPF.Navigation follows the idea of "It shall be async".
It brings the possibility to show windows, user controls and dialogs in an MVVM environment.
Each VM can have an async ctor, cancel window opening, show loading progress and many more.
Overview
The Chapter.WPF.Navigation repository consists of multiple modules The Navigation depends on all of them.
Object | Description |
---|---|
IDialogProvider | This assembly provides ways how to show system dialogs for files or folders. |
IMessageBoxProvider | This assembly provides ways how to show message boxes. |
INavigationService | This is the main assembly to show windows, user controls, dialogs and work with them. |
IPleaseWaitProvider | This assembly provides ways how to show please wait overlays. |
IWindowProvider | This assembly provides ways how to create and show windows. |
Getting Started
First you register all needed assemblies in your IOC container like Unity
_unityContainer.RegisterSingleton<IWindowProvider, WindowProvider>();
_unityContainer.RegisterType<IDialogProvider, DialogProvider>();
_unityContainer.RegisterType<IMessageBoxProvider, MessageBoxProvider>();
_unityContainer.RegisterType<IPleaseWaitProvider, PleaseWaitProvider>();
_unityContainer.RegisterType<INavigationService, NavigationService>();
Then register window and user controls with pairs in the WindowProvider
var windowProvider = (WindowProvider) _unityContainer.Resolve<IWindowProvider>();
windowProvider.RegisterWindow<MainView>("MainView");
windowProvider.RegisterWindow<SubView>("SubView");
windowProvider.RegisterControl<DialogsView>("DialogsView");
windowProvider.RegisterControl<DisplayControlView>("DisplayControlView");
then you can show windows or user controls or more using the INavigationService
var navigationService = _unityContainer.Resolve<INavigationService>();
var vm = _unityContainer.Resolve<MainViewModel>();
navigationService.ShowWindowAsync("MainView", vm);
Links
License
Copyright (c) David Wendland. All rights reserved.
Licensed under the MIT License. See LICENSE file in the project root for full license information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
-
net6.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|