Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oriches/simple.wpf.template
template for creating an MVVM based WPF application using Autofac, NLog & Rx
https://github.com/oriches/simple.wpf.template
csharp dotnet-framework mvvm reactive-programming rx windows-ui wpf
Last synced: about 6 hours ago
JSON representation
template for creating an MVVM based WPF application using Autofac, NLog & Rx
- Host: GitHub
- URL: https://github.com/oriches/simple.wpf.template
- Owner: oriches
- Created: 2014-09-22T15:00:51.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-06-29T16:19:57.000Z (over 2 years ago)
- Last Synced: 2023-03-22T18:24:47.366Z (almost 2 years ago)
- Topics: csharp, dotnet-framework, mvvm, reactive-programming, rx, windows-ui, wpf
- Language: C#
- Homepage:
- Size: 9.7 MB
- Stars: 31
- Watchers: 3
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Simple.Wpf.Template
===================[![Build status](https://ci.appveyor.com/api/projects/status/bo9i0a1bajgne80p/branch/master?svg=true)](https://ci.appveyor.com/project/oriches/simple-wpf-template/branch/master)
This is 'my' canonical example for a WPF solution based on an MMVM approach using IoC, logging, and asynchronous invocations. All external
Built with .NET 6.0 and all the lovely syntatic-sugar available!
**Thrid party libraries are resolved using NuGet.**
The idea is to prevent me from re-creating the scaffolding\infrastructure for any future WPF apps, the following are included:
**MVVM** - _implmented as ViewModel first approach using strongly typed XAML DataTemplates,_
**IoC** - _implmented using Autofac, all services and key (major) ViewModels are resolved via the IoC container,_
**Logging** - _implemented using NLog, writes to file currently in the '%TEMP_FOLDER%\Simple.Wpf.Template' directory,_
**Async Support** - _implemented using Reactive Extensions & TPL (async / await),_
**Modules & Module Loader** - _allows clean setup & configuration, see App.cs,_
**Duration** - _a service for measuring the time for a block of code (Debug mode only),_
**Gestures** - _a service for changing the system gestures (mouse) during the application, designed to be used with MVVM,_
**Event Aggregator** - _a service for publishing / subscribing to application events using Rx syntax,_
**Notifications** - _a service for showing Windows toast notifications,_