HandyControl is a WPF control library that rewrites almost all native styles and includes more than 80 custom controls (increasingly).
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
- HandyControl is official version
- HandyControls is Unofficial version
- You do not need to install both, just choose one of them
Github is generally updated every day and is relatively unsuitable for production.
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.
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.
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:
|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.
Please confirm that your development environment meets the requirements before compiling.
- Visual Studio 2019
- .Net greater than or equal to
Open HandyControl.sln and select the specified environment to compile in the Solution Configuration drop-down box:
Go to Build folder and open Powershell here, then execute this command