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 in WPF and UWP. It supports you in applying various architectural patterns: * Layered Architecture * Modular Architecture * Model-View-ViewModel pattern
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.
|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 - 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 -
(Async)DelegateCommand: An implementation of ICommand that delegates Execute and CanExecute. -
RecentFileList: Most recently used (MRU) file list. -
ViewModelCore: ViewModel base class with a simple approach to set the DataContext.
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.
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.
|A simple and fast RSS and ATOM news feed reader.