preface
For most. NET back-end developers, they are familiar with the current popular ABP framework. Based on the open source ABP framework, they can conduct secondary development without re-developing some basic functions, such as user role management, permissions, organization, multi-tenancy, etc.
However, for the ABP framework, there are very few options available to. NET developers. Currently, it only provides Web-based solutions. For solutions on desktop and mobile devices, it can be said to be "perfunctory." Even for the commercial version of ABP, providing desktop and mobile solutions is still just a crude shelf. For developers with this need, they can only choose different solutions.
At present, most. NET developers develop mobile projects using some popular Web solutions, such as Uniapp, Electron, Flutter, etc. Since such products themselves are incompatible with C#, such as sharing existing class libraries, entities, services, etc. This also does not reflect the concept that. NET is all a shuttle today.
development history
Considering that there are currently many client domain developers, including Xamarin.Forms developers, starting from the end of 2021, I plan to start developing WPF implementations and Xamarin.Forms implementations based on the ABP framework.
In this way, by utilizing existing technologies, the concept of full-platform development has been realized. Among them, WPF and Xamarin.Forms projects have shared more than 90% of the class library code with backend projects, including: model classes, constants, interfaces, services, etc.
So far, Xamarin.Forms and WPF have restored more than 90% of the business functions of the ABP framework, including all UI redesign, business function implementation, and complete MVVM design.
关于 Xamarin.Forms 框架的实现, 参考之前的文章: Xamarin.Forms 5.0 项目实战
Introduction to the WPF ABP Framework
This WPF ABP framework does not achieve the restoration of the WPF project through ABP's technical means, but a complete restoration is based on the business functions provided by the ABP framework. In the WPF project, the startup configuration, module system, dependency injection, various reflection loading, automatic entity mapping modules and other functions provided by ABP are removed.
The project is redeveloped based on the Prism MVVM framework familiar to most WPF developers, and the UI uses the Syncfusion WPF version.
The framework includes the following functions:
- user and role management
- organization
- rights management
- multi-tenant
- Localized multi-language
- Identity authentication and authorization
- audit logging
- UI theme
- exception handling
- data dictionary
- system settings
effect preview
- landing page
- Including tenant switching, language switching, password modification, and mailbox activation

- home
Contains system menu, theme switching (dark/light theme), and home page data statistics panel

- organization
Maintain organizational information and add different roles and users

- role management
Maintain role information, set role permissions, and filter different roles based on permissions


- user management
To manage user information, you need to change user permissions and lock/unlock/delete users.

- audit log
System record of request log, error log, exception data, and change log information


- dynamic attributes
Set dynamic data, drop-down lists, options, multiple options, etc.

- multi-tenant
Maintain tenant information


- version list
Create different versions, set charging standards, expiration rules, etc.


- language list
Maintain data in multiple languages, modify/configure/maintain related information



- set
Contains settings for the core functions of the system, including tenants, users, system security, mailboxes, invoices, and other settings



Presentation UI components
Contains demonstrations of some commonly used controls

- Multi-theme switching





How to obtain source code?
Students who participated in the last Xamarin.Forms charity event can contact me individually and obtain the complete project source code of the WPF version for free. Xamarin.Forms and WPF's ABP framework will continue to be optimized in the future, and receive free technology-related consulting services. All proceeds generated from the last Xamarin.Forms charity event will be announced in the recent donation event.
For those who did not participate in the last public welfare event and want to obtain the source code or conduct secondary development of a commercial nature, the complete source code fee for the WPF version of the ABP framework is 499 yuan, and you can contact the author (QQ:779149549) separately to obtain it.
If the revenue of this WPF framework exceeds 3W, it will also be donated in the form of a public welfare event. Regarding future versions of the MAUI framework, migration work will be carried out in the future.
Video tutorial instructions
During the process of continuous optimization of the WPF version of the project, relevant tutorials will also be produced one after another and posted on the video platform, so that everyone can continue to pay attention.