Mvvm.Navigation.WinUI
0.2.0
See the version list below for details.
dotnet add package Mvvm.Navigation.WinUI --version 0.2.0
NuGet\Install-Package Mvvm.Navigation.WinUI -Version 0.2.0
<PackageReference Include="Mvvm.Navigation.WinUI" Version="0.2.0" />
paket add Mvvm.Navigation.WinUI --version 0.2.0
#r "nuget: Mvvm.Navigation.WinUI, 0.2.0"
// Install Mvvm.Navigation.WinUI as a Cake Addin #addin nuget:?package=Mvvm.Navigation.WinUI&version=0.2.0 // Install Mvvm.Navigation.WinUI as a Cake Tool #tool nuget:?package=Mvvm.Navigation.WinUI&version=0.2.0
Mvvm.Navigation
Provides platform independent navigation at the MVVM level and a Source Generator that automatically binds view and view models and registers this in your DI container.
🔥Features🔥
- Uses DI to resolve your view from view model.
- Generates an extension method for you with all your Views and ViewModels to register them in DI.
- Supports automatic mapping between View and ViewModel based on a global attribute
- Allows case-by-case, attribute-based control for Views
- Does not contain custom controls, everything happens based on the attached dependency property and does not limit the user.
- Allows forward/backward navigation like in Chrome
Usage
Add .AddMvvmNavigation()
call to your Host builder or IServiceCollection
:
public sealed partial class App
{
public App()
{
AppHost = Host
.CreateDefaultBuilder()
.AddMvvmNavigation()
.Build();
}
}
Add ViewFor attribute to your views:
using Mvvm.Navigation;
[ViewFor<MainViewModel>]
public partial class MainPage : UserControl;
Add Navigator to your ViewModel:
public Navigator<ObservableObject> Navigator { get; }
Add commands to your views(or just use Navigator from ViewModel):
<Grid>
<Button
Command="{Binding Navigator.NavigateByTypeCommand}"
CommandParameter="{x:Type viewModels:BlueViewModel}"
/>
<ContentControl mvvm:Properties.Navigator="{Binding Navigator}"/>
</Grid>
Support
Priority place for bugs: https://github.com/HavenDV/Mvvm.Navigation/issues
Priority place for ideas and general questions: https://github.com/HavenDV/Mvvm.Navigation/discussions
I also have a Discord support channel:
https://discord.gg/g8u2t9dKgE
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows10.0.17763 is compatible. net7.0-windows was computed. net7.0-windows10.0.17763 is compatible. net8.0-windows was computed. net9.0-windows was computed. |
-
net6.0-windows10.0.17763
- Microsoft.WindowsAppSDK (>= 1.4.230822000)
- Mvvm.Navigation.Core (>= 0.2.0)
-
net7.0-windows10.0.17763
- Microsoft.WindowsAppSDK (>= 1.4.230822000)
- Mvvm.Navigation.Core (>= 0.2.0)
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 |
---|---|---|
1.5.1 | 157 | 3/5/2024 |
1.5.0 | 133 | 3/4/2024 |
1.4.5 | 213 | 12/4/2023 |
1.4.4 | 137 | 12/4/2023 |
1.4.3 | 129 | 12/4/2023 |
1.4.1 | 130 | 12/3/2023 |
1.4.0 | 126 | 12/3/2023 |
1.3.0 | 136 | 12/1/2023 |
1.2.7 | 226 | 9/22/2023 |
1.2.6 | 183 | 9/22/2023 |
1.2.5 | 200 | 9/21/2023 |
1.2.4 | 167 | 9/16/2023 |
1.2.3 | 182 | 9/16/2023 |
1.2.2 | 217 | 9/14/2023 |
1.2.1 | 217 | 9/14/2023 |
1.2.0 | 203 | 9/14/2023 |
1.1.3 | 220 | 9/11/2023 |
1.1.2 | 206 | 9/11/2023 |
1.1.1 | 202 | 9/7/2023 |
1.1.0 | 230 | 9/5/2023 |
1.0.1 | 233 | 9/4/2023 |
1.0.0 | 233 | 9/3/2023 |
0.2.0 | 225 | 9/3/2023 |
0.1.0 | 243 | 9/2/2023 |
⭐ Last 10 features:
- feat: Added separate property for InitializeComponent constructor. 2023-09-03
- feat: Released 0.2.0. 2023-09-03
- feat: Added Type markup extension. 2023-09-03
- feat: Added Properties.ViewModelType. 2023-09-02
- feat: Added HostApplicationBuilderExtensions. 2023-09-02
- feat: Removed Ioc.Default from main code. 2023-09-02
- feat: Added DI constructor generation for cases with ViewModel + Constructor. 2023-09-02
- feat: To single AddMvvmNavigation extension. 2023-09-02
- feat: Added HostBuilderExtensions generating. 2023-09-02
- feat: Added initial GlobalGenerator. 2023-09-02
🐞 Last 10 bug fixes:
- fix: Fixed CI. 2023-09-02
- fix: Fixed CI. 2023-09-02
- fix: Fixed CI. 2023-09-02
- fix: Added some null checks. 2023-09-02
- fix: Fixed warnings. 2023-08-31