The WPF Application Framework (WAF) is a lightweight Framework that helps you to create well structured WPF Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel (aka MVVM, M-V-VM, PresentationModel) pattern.
How to get started?
- 1. Understand the WPF Application Framework (WAF)
- I suggest to read the topics in the Architecture section of the
- Download the source code package that contains the source code of WAF, the sample applications and the documentation.
- Please read the documentation of the sample applications which explain how WAF can be used. It also describes various WAF features and indicates where you can find the sample code.
- 2. Quick start with your first WAF project
- 3. Integrate WAF into your Projects
- Please use the following NuGet packages to integrate WAF into your Visual Studio Projects:
- PM> Install-Package waf
- PM> Install-Package waf.testing
- Inclusive SymbolSource support for debugging into the source code.
- 4. More information
- You can find more information in the Documentation and the Discussions Tab of this project site.
: Lists the WPF Application Framework (WAF) downloads for various platforms (e.g. .NET4.5, .NET4, .NET3.5, WPF, Windows Forms, Silverlight3).
- User Interface
- View Composition [1-4]
- UI Workflow [2-4]
- Modal Dialogs [2-4]
- Filter data [2, 3]
- Sort data 
- Custom Control 
- Ribbon 
- Tabbed MDI 
- Animated page transition 
- Reporting via
- DelegateCommand [1-4]
- INotifyPropertyChanged [1-4]
- Weak Events [1-4]
- Recent file list [1, 4]
- MessageService [1-4]
- FileDialogService [1, 4]
- Print [3, 4]
- Print Preview 
- Export Document as XPS 
- Localization 
- Unit Testing [1-4]
- Asynchronous Code (async/await) 
 The WPF Application Framework (WAF) directly supports this feature.
Information Manager sample application shows how to implement this feature.
Book Library sample application shows how to implement this feature.
Writer sample application shows how to implement this feature.
 The Waf File Hash Generator application shows how to implement this feature.