NuExt.Minimal.Mvvm.Windows 0.2.0

dotnet add package NuExt.Minimal.Mvvm.Windows --version 0.2.0                
NuGet\Install-Package NuExt.Minimal.Mvvm.Windows -Version 0.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NuExt.Minimal.Mvvm.Windows" Version="0.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NuExt.Minimal.Mvvm.Windows --version 0.2.0                
#r "nuget: NuExt.Minimal.Mvvm.Windows, 0.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NuExt.Minimal.Mvvm.Windows as a Cake Addin
#addin nuget:?package=NuExt.Minimal.Mvvm.Windows&version=0.2.0

// Install NuExt.Minimal.Mvvm.Windows as a Cake Tool
#tool nuget:?package=NuExt.Minimal.Mvvm.Windows&version=0.2.0                

NuExt.Minimal.Mvvm.Windows

NuExt.Minimal.Mvvm.Windows is an extension for the lightweight MVVM framework NuExt.Minimal.Mvvm. This package is specifically designed to enhance development for WPF applications by providing additional components and utilities that simplify development, reduce routine work, and add functionality to your MVVM applications. A key focus of this package is to offer robust support for asynchronous operations, making it easier to manage complex scenarios involving asynchronous tasks and commands.

Commonly Used Types

  • Minimal.Mvvm.ModelBase: Base class for creating bindable models.
  • Minimal.Mvvm.Windows.ControlViewModel: Base class for control-specific ViewModels and designed for asynchronous disposal.
  • Minimal.Mvvm.Windows.DocumentContentViewModelBase: Base class for ViewModels that represent document content.
  • Minimal.Mvvm.Windows.WindowViewModel: Base class for window-specific ViewModels.
  • Minimal.Mvvm.Windows.IAsyncDialogService: Displays dialog windows asynchronously.
  • Minimal.Mvvm.Windows.IAsyncDocument: Asynchronous document created with IAsyncDocumentManagerService.
  • Minimal.Mvvm.Windows.IAsyncDocumentManagerService: Manages asynchronous documents.
  • Minimal.Mvvm.Windows.InputDialogService: Shows modal dialogs asynchronously.
  • Minimal.Mvvm.Windows.OpenWindowsService: Manages open window ViewModels within the application.
  • Minimal.Mvvm.Windows.SettingsService: Facilitates saving and loading settings.
  • Minimal.Mvvm.Windows.TabbedDocumentService: Manages tabbed documents within a UI.
  • Minimal.Mvvm.Windows.ViewLocator: Locates and initializes views based on view models.
  • Minimal.Mvvm.Windows.WindowPlacementService: Saves and restores window placement between runs.

For an enhanced development experience, we highly recommend using the NuExt.Minimal.Mvvm.SourceGenerator package alongside this framework. It provides a source generator that produces boilerplate code for your ViewModels at compile time, significantly reducing the amount of repetitive coding tasks and allowing you to focus more on the application-specific logic.

Installation

You can install NuExt.Minimal.Mvvm.Windows via NuGet:

dotnet add package NuExt.Minimal.Mvvm.Windows

Or through the Visual Studio package manager:

  1. Go to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution....
  2. Search for NuExt.Minimal.Mvvm.Windows.
  3. Click "Install".

Usage Examples

For comprehensive examples of how to use the package, refer to the samples directory in this repository and the NuExt.Minimal.Mvvm.MahApps.Metro repository. These samples illustrate best practices for using these extensions.

Contributing

Contributions are welcome! Feel free to submit issues, fork the repository, and send pull requests. Your feedback and suggestions for improvement are highly appreciated.

Acknowledgements

Special thanks to the creators and maintainers of the DevExpress MVVM Framework. The author has been inspired by its advanced features and design philosophy for many years. However, as technology evolves, the DevExpress MVVM Framework has started to resemble more of a legacy framework, falling behind modern asynchronous best practices and contemporary development paradigms. The need for better support for asynchronous programming, greater simplicity, and improved performance led to the creation of these projects.

License

Licensed under the MIT License. See the LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0-windows7.0 is compatible. 
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NuExt.Minimal.Mvvm.Windows:

Package Downloads
NuExt.Minimal.Mvvm.MahApps.Metro

Extensions for the MahApps.Metro toolkit using the Minimal MVVM Framework for streamlined Metro-style WPF app development. Commonly Used Types: Minimal.Mvvm.Windows.DialogCoordinatorService Minimal.Mvvm.Windows.MetroDialogService Minimal.Mvvm.Windows.MetroTabbedDocumentService MahApps.Metro.Controls.Dialogs.MetroDialog

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.0 27 11/15/2024
0.1.0 50 11/7/2024