jbe2277 / Waf
Licence: mit
Win Application Framework (WAF) is a lightweight Framework that helps you to create well structured XAML Applications.
Stars: ✭ 539
Programming Languages
csharp
926 projects
Projects that are alternatives of or similar to Waf
Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+1144.71%)
Mutual labels: framework, xamarin, uwp, mvvm, wpf
Caliburn.micro
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Stars: ✭ 2,404 (+346.01%)
Mutual labels: xamarin, uwp, mvvm, wpf
Reactiveproperty
ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target framework is .NET Standard 2.0.
Stars: ✭ 603 (+11.87%)
Mutual labels: xamarin, uwp, mvvm, wpf
Mvvmvalidation
Lightweight library that helps reduce boilerplate when implementing validation in XAML MVVM applications
Stars: ✭ 141 (-73.84%)
Mutual labels: xamarin, uwp, mvvm, wpf
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (-82.56%)
Mutual labels: xamarin, uwp, mvvm, wpf
Catel
An application development platform
Stars: ✭ 616 (+14.29%)
Mutual labels: xamarin, uwp, mvvm, wpf
Mvvmlight
The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
Stars: ✭ 973 (+80.52%)
Mutual labels: xamarin, uwp, mvvm, wpf
Mvvmcross
The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
Stars: ✭ 3,594 (+566.79%)
Mutual labels: xamarin, uwp, mvvm, wpf
Uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
Stars: ✭ 6,029 (+1018.55%)
Mutual labels: xamarin, uwp, mvvm
Professionalcsharp7
Code samples for the book Professional C# 7 and .NET Core 2.0 (with updates for 2.1), Wrox Press
Stars: ✭ 403 (-25.23%)
Mutual labels: xamarin, uwp, mvvm
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-78.85%)
Mutual labels: xamarin, mvvm, wpf
Xamarin Demos
This repository contains the Syncfusion Xamarin UI control’s samples and the guide to use them.
Stars: ✭ 218 (-59.55%)
Mutual labels: xamarin, uwp, mvvm
Windowscommunitytoolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building UWP and .NET apps for Windows 10. The toolkit is part of the .NET Foundation.
Stars: ✭ 4,654 (+763.45%)
Mutual labels: uwp, mvvm, wpf
Orchestra
Orchestra is a composable shell and WPF framework built on top of Catel
Stars: ✭ 373 (-30.8%)
Mutual labels: framework, mvvm, wpf
Arcgis Toolkit Dotnet
Toolkit for ArcGIS Runtime SDK for .NET
Stars: ✭ 125 (-76.81%)
Mutual labels: xamarin, uwp, wpf
DevOpsExamples
A repo to show you how to use a private NuGet feed, such as Telerik, to restore packages in Azure DevOps, GitHub Actions, GitLab CI and AppCenter.
Stars: ✭ 16 (-97.03%)
Mutual labels: xamarin, uwp, wpf
EBind
🔵 .NET Data Binding we deserve: concise, fast, feature-rich
Stars: ✭ 141 (-73.84%)
Mutual labels: xamarin, uwp, wpf
arcgis-runtime-demos-dotnet
Demo applications provided by the ArcGIS Runtime SDK for .NET Team
Stars: ✭ 51 (-90.54%)
Mutual labels: xamarin, uwp, wpf
Win Application Framework (WAF)
Successor of the WPF Application Framework
The Win Application Framework (WAF) is a lightweight Framework that helps you to create well-structured XAML Applications in WPF and UWP. It supports you in applying various architectural patterns:
How to get started?
- WAF comes with realistic real-world sample applications. Please have a look at them. See Sample Applications below.
- The Wiki provides further guidance.
- The fastest way to create a WAF project is by using the WAF Visual Studio Project Template. Please update the WAF NuGet packages to the latest stable version after project creation.
Supported Platforms
- *.Core (.NET Standard 2.0 and .NET Framework 4.6.1): Support for all .NET based applications.
- *.Wpf (.NET Core 3.1 and .NET Framework 4.6.1): Extended support for Windows Presentation Foundation (WPF).
NuGet Packages
Package | Usage | Successor of |
---|---|---|
System.Waf.Core | For all .NET based applications | |
System.Waf.Wpf | For WPF applications | waf |
System.Waf.UnitTesting.Core | For unit testing of all .NET based applications | |
System.Waf.UnitTesting.Wpf | For unit testing of WPF applications | waf.testing |
Features
System.Waf.Core
-
Foundation
-
Cache
: Provides support for caching a value. -
Model
: Base class that implements INotifyPropertyChanged. -
ObservableListViewCore
: Provide change notifications for sorting and filtering. -
SynchronizingCollectionCore
: Represents a collection that synchronizes all its items with the items of the specified original collection. -
ThrottledAction
: Throttling of multiple method calls to improve the responsiveness of an application. -
ValidatableModel
: Base class for a model that supports validation by implementing INotifyDataErrorInfo. -
WeakEvent
: Supports listening to events via a weak reference. This can prevent memory leaks. See WeakEvent page for more details.
-
- Applications
System.Waf.Wpf
-
Foundation
-
DataErrorInfoSupport
: Helper class for working with the legacy IDataErrorInfo interface.
-
-
Applications
-
ApplicationInfo
: Provides information about the running application. -
ObservableListView
: Same as ObservableListViewCore but using weak event handlers. -
SynchronizingCollection
: Same as SynchronizingCollectionCore but using weak event handlers. -
ViewModel
: ViewModel base class which sets the DataContext delayed via the Dispatcher.
-
-
Presentation
-
DispatcherHelper
: Implementation for DoEvents. -
ResourceHelper
: Helper methods to manage resources in WPF. -
ValidationHelper
: Support for data validation tracking. -
Converters
-
BoolToVisibilityConverter
: Converts a boolean value to and from a Visibility value. -
InvertBooleanConverter
: Inverts a boolean value. -
NullToVisibilityConverter
: Null condition to return the associated Visibility value. -
StringFormatConverter
: Converts an object into a formatted string. -
ValidationErrorsConverter
: Converts a ValidationError collection to a multi-line string error message.
-
-
Services
-
FileDialogService
: Shows an open or save file dialog box. -
MessageService
: Shows messages via the MessageBox.
-
-
System.Waf.UnitTesting.Core
-
AssertHelper
: Assertion helper methods for expected exceptions, CanExecuteChanged event and PropertyChanged event. -
UnitTestSynchronizationContext
: Synchronization context for unit tests that simulates the behavior of the WPF or Windows Forms synchronization context.
Sample Applications
Name | Type | Description | Links |
---|---|---|---|
Waf NewsReader | Xamarin Forms |
A simple and fast RSS and ATOM news feed reader. |
|
Waf Writer | WPF | A simplified word processing application. |
Doc |
Waf Book Library | WPF | Supports the user to manage his books. Borrowed books can be tracked by this application.
|
Doc |
Waf Information Manager | WPF | A modular application that comes with a fake email client and an address book.
|
Doc |
Waf Music Manager | WPF | Fast application that makes fun to manage the local music collection. WinRT, Media playback, File queries & properties, Async/await, Drag & Drop, ClickOnce |
|
Waf DotNetPad | WPF | Code editor to program with C# or Visual Basic. .NET Compiler Platform, Roslyn, AvalonEdit, Auto completion, Async/await, ClickOnce |
|
Waf DotNetApiBrowser | WPF | Windows application for browsing the public API of .NET Assemblies and NuGet packages. .NET Compiler Platform, Roslyn, AvalonEdit, NuGet, Async/await, Validation, ClickOnce |
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].