waf

Win Application Framework (WAF) is a lightweight Framework that helps you to create well structured XAML Applications.

Github stars Tracking Chart

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).

Features

System.Waf.Core

  • Foundation
  • 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
  • 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

NuGet Packages

Package, Usage, Successor of
---, ---, ---
System.Waf.Wpf, For WPF applications, waf
System.Waf.Core, For all .NET based applications, System.Waf.UnitTesting.Wpf, For unit testing of WPF applications, waf.testing
System.Waf.UnitTesting.Core, For unit testing of all .NET based applications, ## Sample Applications
Name, Type, Description, Links
---, ---, ---, ---
Waf NewsReader, XamarinForms, A simple and fast RSS and ATOM news feed reader.Platforms: Android, UWP (Windows) and iOSArchitecture: Layering, MVVM, Async patternsSync feeds with multiple devices via MS Graph (OneDrive)OAuth authenticationResponsive UI with Navigation paneValidation (Add feed view)Localized (English and German), Waf Writer, WPF, A simplified word processing application.Platforms: .NET Core 3.1 and .NET Framework 4.7.2Architecture: Layering, MVVMRibbon & Tabbed MDI (Multiple Document Interface)Animated transition between pagesMost recently used file list (MRU)Message service, Open/Save dialog servicePrint preview & Print dialogLocalized (English and German), Doc
Waf Book Library, WPF, Supports the user to manage his books. Borrowed books can be tracked by this application.Platforms: .NET Core 3.1 and .NET Framework 4.7.2Architecture: Layering, Extensions, MVVM, DMVVMEntity Framework with SQLiteValidation rulesSort & Filter in the DataGridReporting via WPF FlowDocument & Print support, Doc
Waf Information Manager, WPF, A modular application that comes with a fake email client and an address book.Platforms: .NET Core 3.1 and .NET Framework 4.7.2Architecture: Layering, Modularization, MVVMOffice format ZIP container shared with all modules (Package API and DataContractSerializer)Validation rulesExtensible navigation view & context sensitive toolbarWizard dialog, 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

Main metrics

Overview
Name With Ownerjbe2277/waf
Primary LanguageC#
Program languageC# (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2015-08-21 18:17:11
Pushed At2025-06-11 19:33:22
Last Commit At2025-06-11 21:33:17
Release Count47
Last Release Namev8.1.0 (Posted on )
First Release Namev4.0.0-alpha1 (Posted on )
用户参与
Stargazers Count721
Watchers Count65
Fork Count134
Commits Count1.4k
Has Issues Enabled
Issues Count19
Issue Open Count5
Pull Requests Count73
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private