waf

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

Github星跟踪图

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

主要指标

概览
名称与所有者jbe2277/waf
主编程语言C#
编程语言C# (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2015-08-21 18:17:11
推送于2025-06-11 19:33:22
最后一次提交2025-06-11 21:33:17
发布数47
最新版本名称v8.1.0 (发布于 )
第一版名称v4.0.0-alpha1 (发布于 )
用户参与
星数721
关注者数65
派生数134
提交数1.4k
已启用问题?
问题数19
打开的问题数5
拉请求数73
打开的拉请求数0
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?