This library allows for simple adding of region navigation to WPF applications.
This means, you can navigate to different views (optionally with view models) in ContentControls.
You can acquire this library either directly via the NuGet package manager or by downloading it from the NuGet Gallery.
I recommend having a look at the example project.
-
Prepare your existing view by adding a
ContentControl
and registering it to theRegionNavigationService
with a specific region key.- Registration of regions can be done by calling
RegionNavigationService.RegisterRegion(_YourRegionKey_, _YourContentControl_)
- Or by using the
NavigationService.NavigationRegion="_YourRegionKey_"
property inside the ContentControl's xaml.
- Registration of regions can be done by calling
-
Create the views that you want to navigate to.
-
Optionally, create view models for your views.
- If needed, you can implement the
INavigationAware
interface in your view models, making them being notified when navigation occurs.
- If needed, you can implement the
-
Register your views and view models to the
RegionContentService
with a specific content key.- Views-only are registered by calling
RegionContentService.RegisterContent<_YourViewType_>(_YourContentKey_)
. - If you want to register a view and a view model, you can call
RegionContentService.RegisterContent<_YourViewType_, _YourViewModelType_>(_YourContentKey_)
.
- Views-only are registered by calling
-
Done! You can now navigate to your views by simply calling
RegionNavigationService.Navigate(_YourRegionKey_, _YourContentKey_)
.
Feel free to reach out!
These screenshots show the example pages, included in the project.
- Add support for more Controls (Frames, ...).
- Add non-throwing methods, like 'TryNavigate'.
Please have a look at THIRD-PARTY-LICENSES for all the awesome packages used in this library.
This library is MIT licensed.