Oakrey.ViewModels
2.1.0
dotnet add package Oakrey.ViewModels --version 2.1.0
NuGet\Install-Package Oakrey.ViewModels -Version 2.1.0
<PackageReference Include="Oakrey.ViewModels" Version="2.1.0" />
<PackageVersion Include="Oakrey.ViewModels" Version="2.1.0" />
<PackageReference Include="Oakrey.ViewModels" />
paket add Oakrey.ViewModels --version 2.1.0
#r "nuget: Oakrey.ViewModels, 2.1.0"
#:package Oakrey.ViewModels@2.1.0
#addin nuget:?package=Oakrey.ViewModels&version=2.1.0
#tool nuget:?package=Oakrey.ViewModels&version=2.1.0
Oakrey.ViewModels
1. Overview
The "ViewModels" project provides a robust framework for implementing the MVVM (Model-View-ViewModel) design pattern in .NET applications. It simplifies the development of maintainable and testable WPF applications by offering essential components like commands, collections, and base classes.
2. Features
Base Classes:
- ViewModelBase provides property change notification and serves as a foundation for creating view models.
Command Implementation:
- RelayCommand and RelayCommandGeneric enable binding actions to UI elements with minimal boilerplate code.
- CommandBase offers a customizable base class for commands.
Asynchronous Support:
- AsyncObservableCollection supports thread-safe and asynchronous operations on observable collections.
- AsyncDispatcherEvent facilitates event handling in asynchronous scenarios.
Collection Utilities:
- ObservableQueue provides an observable queue implementation for dynamic data binding.
- CollectionsExtensions includes helper methods for working with collections.
Error Handling:
AsyncCollectionException provides structured exception handling for asynchronous collection operations.
3. Installation
You can install the package via NuGet Package Manager, Package Manager Console or the .NET CLI.
NuGet Package Manager
- Open your project in Visual Studio.
- Navigate to Tools > NuGet Package Manager > Manage NuGet Packages for Solution....
- Search for
Oakrey.ViewModelsand click Install.
.NET CLI
Run the following command in your terminal:
dotnet add package Oakrey.ViewModels
Package Manager Console
Run the following command in your Package Manager Console:
Install-Package Oakrey.ViewModels
4. Requirements
- .NET 8 or higher
5. Project Information
- Author: Oakrey
- Company: Oakrey (Website Link)
- License: MIT
- Repository: Git Repository
- Project URL: Project Website
6. Contributing
Contributions are welcome! Feel free to open issues or submit pull requests to improve the package.
7. License
This project is licensed under the MIT License. See the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- System.Reactive (>= 6.1.0)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Oakrey.ViewModels:
| Package | Downloads |
|---|---|
|
Oakrey.Applications.Settings
WPF-only (.NET 10 Windows) library providing ISettingsService with persistent and volatile typed key-value settings, SettingsBase for bindable ViewModelBase-derived settings classes, CallerMemberName key inference, built-in window bounds restore via RestoreBounds, and a one-call ConfigureSettingService DI extension. |
|
|
Oakrey.Applications.Help
A WPF/.NET library for loading, navigating, and displaying hierarchical Markdown-based help content, with ViewModel integration, navigation history, and logging support. |
|
|
Oakrey.Applications.About
A WPF/.NET library providing an About dialog with application name and version display, loaded assembly/module version listing, RTF EULA rendering, and a Report Issue form with log folder access. |
|
|
Oakrey.Applications.Terminals
A WPF/MVVM .NET library for building terminal-like interfaces. Provides a generic TerminalViewModel base with reactive message collections (System.Reactive), navigable command history, sort and display settings, file export, and built-in Oakrey.Log and Oakrey.Telemetry integration. |
|
|
Oakrey.DevOps.UI
Package contains: UI models for managing Azure DevOps work items, including BugModel and FeatureModel. Provides commands for submitting bugs and feature requests with support for attaching logs and tags. |
GitHub repositories
This package is not used by any popular GitHub repositories.