HandyControl is a WPF control library that rewrites almost all native styles and includes more than 80 custom controls (increasingly).
Requirements
Download
The difference between official and unofficial versions
HandyControls
is Unofficial version Which has all the features of the official version + more features.
In the unofficial version you will enjoy the following features:
- Faster nuget release, usually every 20 days or 1 month (Official version every 3 months)
- Faster VSIX Update (VSIX will be updated with the release of the new version of Nuget)
- Helper classes
- Useful Extension methods
- More controls
- More styles for some controls
- Powerful ThemeManager
- Great features like dynamic language
- Optimized collections
- Persian Date and Calendar
And other awesome features which You can see the list of all of them along with the documents here
- HandyControl is official version
- HandyControls is Unofficial version
- You do not need to install both, just choose one of them
Nuget | Github | Extension |
---|---|---|
HandyControl-Nuget | HandyControl-Github | HandyControl-Extension |
HandyControls-Nuget | HandyControls-Github | HandyControls-Extension |
Github is generally updated every day and is relatively unsuitable for production.
Project Structure Introduction
the whole frame
After cloning the source code from Github, go to the src folder. The folder structure is as follows:
Net_GE45
means that the .Net version is greater than or equal to 4.5.
The Shared
folder is used to store the code of the shared project.
The five folders in the figure each contain two subfolders, for example, two shared subfolders in Shared:
They store the source code of the control and the sample source of the control.
Source structure
We use HandyControl.sln as an example to illustrate, use VS2019 to open the solution:
If you want to start the example and see the effect of the control, please use HandyControlDemo_[specified item type] as the startup item.
As shown in the figure, HandyControlDemo_Net_GE45 has been used as the startup item.
Most of the public source code is in the Shared folder, and some of the code that needs to be customized for a particular project type is proposed to be placed in its own folder.
The HandyControl source code (mainly in HandyControl_Shared) mainly contains 7 folders, and their descriptions are as follows:
Name | Use |
---|---|
Controls | Background interaction logic with all controls |
Data | Basic data definitions required by the control library |
Expression | Extracted from Microsoft.Expression.Drawing |
Interactivity | Extracted from Microsoft.Expression.Interactions & System.Windows.Interactivity and made some modifications |
Properties | Contains control library properties and language packs |
Themes | Contains all xaml definitions for the control library |
Tools | Mainly contains the help methods and extension methods required by the control library |
Each control in Controls can generally find the corresponding xaml definition in Themes.
Compile source code
Please confirm that your development environment meets the requirements before compiling.
- Visual Studio 2019
- .Net greater than or equal to
5.0.100
Open HandyControl.sln and select the specified environment to compile in the Solution Configuration drop-down box:
Compile source code with Powershell
Go to Build folder and open Powershell here, then execute this command
1 | .\build.ps1 |