# HandyControl: a WPF control library where releases lag behind commits

> An MIT licensed set of WPF controls and styles, distributed on NuGet and a MyGet feed, with a two and a half year gap between the newest tagged release and the last commit.

**HandyOrg/HandyControl** — Contains some simple and commonly used WPF controls

- Repository: https://github.com/HandyOrg/HandyControl
- Website: https://handyorg.github.io/
- Stars: 7,191 · Forks: 1,163
- Language: C#
- License: MIT
- Published: 2026-10-06 · Updated: 2026-10-06 · Language: en
- Canonical page: https://hysenlabs.com/projects/handyorg-handycontrol

## A controls library whose README leads with a blogroll and contributor wall

The English README for this project does something unusual: it opens with a section called Blogroll, listing two sibling projects by the same maintainer. One is SimpleFactoryGenerator, a source generator for the simple factory pattern, and the other is WpfExtensions, described as syntactic sugar for WPF development. Then comes a cover image, language links for Chinese and English, and a row of badges.

The badges tell you the compatibility story. The .NET badge reads .NET >= 4.0, the C# badge reads latest, and the IDE badge names Visual Studio 2022. A .NET 4.0 floor is old but generous: it means the library is not tied to a modern framework-only dependency graph, which matters for shops with long-lived desktop applications.

The rest of the README is a contributor section that renders each GitHub avatar at 64 pixels, which runs for dozens of names. Below the badges sits a section headed, in the original, a phrase meaning oriented toward China. It lists a Slack workspace, a Gitee repository, a separate Chinese documentation site, and a sponsorship block that includes a charity donation link and a joke about buying anti hair loss shampoo.

The joke is worth reading as a signal rather than a curiosity. It tells you the maintainer writes the README with a light hand and treats this as a community project, not a commercial one. That is consistent with the MIT licence, the absence of a homepage marketing site, and the fact that the project is distributed through package feeds rather than a download page.

## Getting it from NuGet or a MyGet feed, and where the code lives

Distribution is the practical first question for a control library, and the README answers it with three badges rather than instructions. There is a NuGet version badge pointing at nuget.org/packages/HandyControl, a MyGet badge pointing at a MyGet feed hosted feed URL for the same package, and a total-download badge on NuGet.

Two feeds for one package is a meaningful detail. MyGet is commonly used to distribute preview or staging builds ahead of a public release, so its presence suggests that builds are pushed somewhere more often than they are formally versioned on NuGet. If you are evaluating this library, that distinction decides whether you install a stable version that is a year old or a newer one from a private feed.

The repository tree shows a conventional library layout: `src/` for the code, `build/` for build infrastructure, `doc/` for documentation sources, and `extension/` for what are presumably designer extensions or add-ons. `.github/` holds the workflow, and the README's build badge points at a workflow named build. `SECURITY.md` and `CODE_OF_CONDUCT.md` are both present, which is a good sign and slightly unusual for a project of this size.

The GitHub topics describe what is inside the library rather than the domain it serves: color-picker, flipclock, gif, propertygrid, relativepanel, wpf, wpf-controls, wpf-ui and xaml. A property grid, a colour picker, a flip clock and layout panels are the profile of a general UI kit rather than a domain component set, which is what the repository description says too: some simple and commonly used WPF controls.

## The release history is where this project's story turns

Three releases are visible in the history, and the dates are widely spaced. v3.3.0 shipped on 2021-12-09, v3.4.0 on 2022-11-16, and v3.5.0 on 2024-02-07. The repository's last push was on 2026-08-11. That is a gap of roughly two and a half years between the newest tagged release and the most recent commit, on a project that is not archived.

Read one way, this is a project whose master branch receives steady work that nobody has packaged. Read another way, it is a project where releases have effectively stopped and the commit activity is small maintenance. The repository does not settle which reading is right, and neither does the release notes, because there is nothing in them after February 2024. Either way, the practical consequence is the same: installing from NuGet gives you the February 2024 state, and reading the source gives you something newer.

The release notes themselves are refreshingly ordinary. v3.5.0 contains a fix for a build error when the compile target is x86, a fix for missing parentheses in two IP address regular expression patterns, the addition of a `SECURITY.md`, a Czech language contribution, a `MenuItemAttach` addition, an issue template converted from markdown to YAML, and an automated pull request from a bot fixing formatting errors. That is what maintenance on a mature control library looks like: correctness fixes in edge cases, not new headline features.

## What v3.3.0 shows about the control set

The oldest release listed is also the most informative, because its notes read like a catalogue. v3.3.0 added three controls: a DrawerContainer, a HighlightTextBlock, and an AutoCompleteTextBox. It added a family of small styles across DataGrid, RadioButton, button, TextBox, PasswordBox, ListBox, CheckComboBox, RepeatButton and TreeView, plus a RadioButtonSameAsButton style.

That small-style family is the interesting part. Shipping a parallel small size for every interactive control is the kind of consistency a design system needs and most free control kits skip. It also tells you the library was aiming at dense data entry interfaces rather than marketing pages, which fits the DataGrid and CheckComboBox entries.

The feature list from that release includes a namespace-prefixed TabControl that closes a tab on a middle mouse button click, validation support on all input elements, navigation methods on a CoverFlow control, an attribute-aware EnumDataProvider, an upgraded waterfall panel and an upgraded UniformSpacingPanel, and a new selected event on an image selector.

The bug list is equally telling. The fixes reference resources that could not be found in a growl notification and a message box, a crash when a colour picker's SelectedBrush property was set to null, and a shaking problem in a CompareSlider. Those are all lifetime or resource-lookup bugs in custom controls, the category that comes from writing templates and dependency properties by hand rather than inheriting from a stock WPF control. It is a fair proxy for how much custom drawing code this library contains.

## What using a third party WPF kit actually costs you

The honest comparison here is not with another free control library. It is with building the controls in-house, which is what a team does when it needs a look that no kit provides.

HandyControl's pitch is that you get a themed set of controls, a Chinese documentation site at handyorg.github.io/handycontrol alongside the English one at the project homepage, and a Gitee mirror for people who cannot reliably reach GitHub. The last point is not a detail: the project maintains a mirror specifically for that reason, and the README's China-oriented section is built around it.

The costs are equally concrete. You inherit a dependency whose styling is expressed as WPF styles and templates over your own resource dictionaries, so a change to a theme resource can affect controls you did not think of as related. You inherit a release stream that stopped in February 2024, so a bug you find in master may never be fixed in a published package. And you inherit a control set tuned to a Chinese-market desktop application aesthetic, which is not a criticism so much as a fact about what the default theme looks like.

The alternative for a team that needs only a handful of things is usually to take the two or three controls you actually need, read their templates, and keep them. That is more work up front and far less coupling afterwards. HandyControl is at its best when you adopt the theme as well as the controls, because that is where the consistency work in those small-style releases pays off.

## Conclusion

HandyControl is a reasonable choice for a Windows desktop team that wants a consistent set of WPF controls and does not want to build a design system first, and a poor fit for anything that is not WPF on Windows, or for a team that needs a release cadence matching its own. The controls are ordinary in the good sense: they follow WPF conventions, the styles are themeable, and the library targets .NET 4.0 or later. The caveat is the gap between the newest tag, v3.5.0 from 2024-02-07, and the last push on 2026-08-11. Master is moving, releases are not, so the NuGet package you install may lag the repository you read. Pull from source if you need current behaviour, and check which version you actually resolved before diagnosing a control that behaves differently from the source.

## FAQ

### What is HandyControl and what does it contain?

HandyControl is an MIT licensed set of commonly used WPF controls and styles written in C#, with its description naming it as a collection of simple, frequently needed WPF controls. Its repository topics list a colour picker, a flip clock, gif support, a property grid and layout panels, and release notes show added controls such as a drawer container, a highlight text block and an auto-complete text box.

### How do I install HandyControl in a WPF project?

The package is published on NuGet as HandyControl, and the README also points at a MyGet feed carrying the same package name. The badges state a .NET 4.0 or later floor and name Visual Studio 2022 as the IDE, so an existing WPF project can reference the package directly and merge the control resource dictionaries into its own app resources.

### Is HandyControl still being updated?

The repository is not archived and its last push was on 2026-08-11, but the most recent tagged release is v3.5.0 from 2024-02-07. So the source tree moves while the published NuGet package does not, which means the version you install can be considerably older than the code you read on master.

### Where can I find HandyControl documentation outside the repository?

The project runs a documentation site at handyorg.github.io for English and a separate Chinese documentation site at handyorg.github.io/handycontrol. The README also links a Slack workspace for technical discussion and a Gitee mirror of the repository, maintained for people who cannot reliably reach GitHub.

## Sources

- [HandyOrg/HandyControl on GitHub](https://github.com/HandyOrg/HandyControl)
- [License: MIT](https://github.com/HandyOrg/HandyControl/blob/master/LICENSE)
- [Project website](https://handyorg.github.io/)
- [README](https://github.com/HandyOrg/HandyControl/blob/master/README.md)
- [Releases](https://github.com/HandyOrg/HandyControl/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/handyorg-handycontrol
