Win Application Framework (WAF) is a lightweight Framework that helps you to create well structured XAML Applications.
The Win Application Framework (WAF) is a lightweight Framework that helps you to create well-structured XAML Applications (MAUI, Xamarin, WPF, WinUI). It supports you in applying various architectural patterns:
How to get started?
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 |
System.Waf.Core
Cache
: Provides support for caching a value.Model
: Base class that implements INotifyPropertyChanged.ObservableList
: Extends the ObservableCollection
with support for INotifyCollectionChanging
and INotifyCollectionItemChanged
.ObservableListViewCore
: Provide change notifications for sorting and filtering.SynchronizingList
: 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.SettingsService
: Load and save user settings as a XML file.System.Waf.Wpf
DataErrorInfoSupport
: Helper class for working with the legacy IDataErrorInfo interface.ViewModel
: Extends the ViewModelCore
class and automatically initializes the DataContext with the Dispatcher.DispatcherHelper
: Implementation for DoEvents.ResourceHelper
: Helper methods to manage resources in WPF.ValidationHelper
: Support for data validation tracking.BoolToVisibilityConverter
: Converts a boolean value to and from a Visibility value.InvertBooleanConverter
: Inverts a boolean value.NullToVisibilityConverter
: Check for null and 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.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 a UI synchronization context.Name | Type | Description |
---|---|---|
Waf NewsReader | MAUI 9 .NET 9 |
A simple and fast RSS and ATOM news feed reader. |
Waf Writer | WPF .NET 8 |
A basic word processing application. |
Waf Book Library | WPF .NET 8 |
Supports the user to manage books. Borrowed books can be tracked by this application.
|
Waf Information Manager | WPF .NET 8 |
A modular application that comes with a fake email client and an address book.
|
Waf Music Manager | WPF .NET 8 |
Fast application that makes fun to manage the local music collection. MS Store (MSIX), WinRT, Media playback, File queries & properties, Async/await, Drag & Drop |
Waf DotNetPad | WPF .NET 9 |
Code editor for programming C# and Visual Basic. MS Store (MSIX), .NET Compiler Platform (Roslyn), AvalonEdit, Auto completion, Async/await |
Waf File Hash Generator | WinUI 3 .NET 8 |
Simple tool that generates the hash values of one or more files. MS Store (MSIX), Async, Progress, Drag & Drop |