A comprehensive WPF framework library for .NET Core-based applications, extending Prism and CommunityToolkit.Mvvm
Jamesnet.Wpf is a powerful WPF framework library designed for modern .NET Core-based applications. It builds upon and extends the capabilities of key libraries to provide a comprehensive solution for building robust, maintainable, and scalable WPF applications in the .NET Core ecosystem.
- Fully compatible with .NET Core's dependency management system
- Leverages .NET Core's enhanced performance and cross-platform capabilities
- Builds upon Prism.Unity for a streamlined dependency injection system
- Efficient management of singleton instances and types
- Extends CommunityToolkit.Mvvm with additional MVVM utilities
- Simplified view registration and view/viewmodel connections
- Region management for view injection
- Dynamic resource binding capabilities
- Integrated theming and localization structures
- Geometry Path icons for vector graphics
- Enhanced Grid functionalities leveraging WpfAutoGrid.Core
- Custom controls like JamesPanel, JamesContent, JamesWindow
- Extended Application class (JamesApplication) based on PrismApplication
- Comprehensive WPF framework architecture design for .NET Core
- .NET 8.0+ (Core-based)
- WPF (Windows Presentation Foundation)
Jamesnet.Wpf leverages the following key libraries:
- Provides a powerful MVVM framework and modular architecture
- Enables loosely coupled, testable, and maintainable applications
- Offers advanced features like dependency injection and event aggregation
- Simplifies MVVM pattern implementation
- Provides source generators for boilerplate reduction
- Offers a rich set of helpers and base classes for viewmodels
- Enhances WPF's Grid control with auto-layout capabilities
- Simplifies complex grid definitions
- Improves readability and maintainability of XAML layouts
- Visual Studio 2022 or later
- Jetbrains Rider
- .NET 8.0 SDK or later
- Windows 11 recommended
![](https://private-user-images.githubusercontent.com/52397976/354799051-af70f422-7057-4e77-a54d-042ee8358d2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDUwODksIm5iZiI6MTczOTA0NDc4OSwicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkwNTEtYWY3MGY0MjItNzA1Ny00ZTc3LWE1NGQtMDQyZWU4MzU4ZDJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE5NTk0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRiNDA2MTJkNzcwMzlmMTdmNWE4ODY4ODRjZGRhYmRhNjA5MGE2NTViOWExYTJhNWM1NTRkNzZlY2QzYjk0N2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.69GHRiu2qzmM43US1WAaPgJ7SQpraSqD7mq13fwtZAw)
![](https://private-user-images.githubusercontent.com/52397976/354799195-e4feaa10-a107-4b58-8d13-1d8be620ec62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDUwODksIm5iZiI6MTczOTA0NDc4OSwicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTkxOTUtZTRmZWFhMTAtYTEwNy00YjU4LThkMTMtMWQ4YmU2MjBlYzYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE5NTk0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzYTBlNjlmZmE1ZjI0YzI1YTI1MTYzOTE0ZGY1MmIwMTFhMmQ3NDhkYmY4ODY5ZDQ0ZTUxMGE4ZDE5N2JlZGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.q07flRZlR7S6_WIeOd2SOQQlYSz_qiMF8Xbwb_EQAS0)
![](https://private-user-images.githubusercontent.com/52397976/354799464-5ff487f6-55e4-43e1-9abf-f8d419ee6943.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwNDUwODksIm5iZiI6MTczOTA0NDc4OSwicGF0aCI6Ii81MjM5Nzk3Ni8zNTQ3OTk0NjQtNWZmNDg3ZjYtNTVlNC00M2UxLTlhYmYtZjhkNDE5ZWU2OTQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDE5NTk0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU4ODIzNTdkNWJiMWExMTJmY2I5Yzg1ZjU4MDgxNzg2NTZmY2YwMDNlYmQ5NzYyNjljNWVkYWZhNWQ2OTgzNjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.SA9HQ8XbYsEuUw5lX67ixHYDiTk59665QkMiOqVR_0k)
Install the Jamesnet.Wpf NuGet package in your .NET Core WPF project:
dotnet add package Jamesnet.Wpf
Or via the NuGet Package Manager:
Install-Package Jamesnet.Wpf
Jamesnet.Wpf is specifically designed for .NET Core-based WPF applications. It takes full advantage of .NET Core's dependency management system, allowing for more flexible and efficient application architecture.
Key benefits in .NET Core:
- Simplified dependency management
- Enhanced performance
- Better compatibility with modern .NET ecosystems
Jamesnet.Wpf is used in numerous GitHub projects, including:
- WPF: League of Legends
- Reflector
- ColorPicker
- ICommander
- DevFlow
- WPF Explorer
- Theme Switch
- Riot Play Button
- Magic Navigation
- Riot Slider
- Smart Date
- Cupertino TreeView
- JamesPanel
- JamesGrid : AutoGrid
- JamesContent : ContentControl
- JamesWindow : Window
- JamesApplication : PrismApplication
- JamesDataGrid : DataGrid
- ViewModelLocationScenario
- WireDataContext
- ObservableBase : ObservableObject
- IViewable, IViewLoadable, IViewCreatable
- SmartField, TextField, ComboField, DateField, CheckField
Contributions to Jamesnet.Wpf are welcome! Please feel free to submit issues, create pull requests, or suggest improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
- Website: https://jamesnet.dev
- Email: [email protected], [email protected], [email protected]
Enhance your .NET Core WPF development experience with Jamesnet.Wpf!