Home

Awesome

Blogroll

SimpleFactoryGenerator - A simple factory source generator that enables the pattern to not violate the open-close principle.

WpfExtensions - Some syntactic sugar for Wpf development.

<p align="center"> <img align="center" src="https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Cover.png"> </p> <p align="center"> <a href="https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md">中文</a> ❤ <a href="https://github.com/HandyOrg/HandyControl/blob/master/README.md">English</a> </p> <p align="center"> <img alt="dotnet-version" src="https://img.shields.io/badge/.net-%3E%3D4.0-blue.svg"></img> <img alt="csharp-version" src="https://img.shields.io/badge/C%23-latest-blue.svg"></img> <img alt="IDE-version" src="https://img.shields.io/badge/IDE-vs2022-blue.svg"></img> <a href="https://www.nuget.org/packages/HandyControl"> <img alt="nuget-version" src="https://img.shields.io/nuget/v/HandyControl.svg"></img> </a> <a href="https://www.myget.org/feed/handycontrol/package/nuget/HandyControl"> <img alt="myget-version" src="https://img.shields.io/myget/handycontrol/v/handycontrol?color=orange&label=myget"></img> </a> <a href="https://github.com/HandyOrg/HandyControl/actions?query=workflow%3Abuild"> <img alt="Github-build-status" src="https://github.com/HandyOrg/HandyControl/actions/workflows/build.yml/badge.svg"></img> </a> <a href="https://www.nuget.org/packages/HandyControl"> <img alt="Nuget" src="https://img.shields.io/nuget/dt/handycontrol"></img> </a> </p>

面向中国

技术交流

https://join.slack.com/t/handycontrol/shared_invite/zt-sw29prqd-okFmRlmETdtWhnF7C3foxA

码云

https://gitee.com/handyorg/HandyControl/

中文文档

https://handyorg.github.io/handycontrol/

赞助

Contributors

<a href="https://github.com/ghost1372" target="_blank"><img style="border-radius:50%!important" width="64px" alt="ghost1372" src="https://avatars.githubusercontent.com/u/9213496?s=64&v=4"></a> <a href="https://github.com/DingpingZhang" target="_blank"><img style="border-radius:50%!important" width="64px" alt="DingpingZhang" src="https://avatars.githubusercontent.com/u/8541016?s=64&v=4"></a> <a href="https://github.com/M0n7y5" target="_blank"><img style="border-radius:50%!important" width="64px" alt="M0n7y5" src="https://avatars.githubusercontent.com/u/17201053?s=64&v=4"></a> <a href="https://github.com/guanguanchuangyu" target="_blank"><img style="border-radius:50%!important" width="64px" alt="guanguanchuangyu" src="https://avatars.githubusercontent.com/u/25916858?s=64&v=4"></a> <a href="https://github.com/yanchao891012" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yanchao891012" src="https://avatars.githubusercontent.com/u/16846702?s=64&v=4"></a> <a href="https://github.com/noctwolf" target="_blank"><img style="border-radius:50%!important" width="64px" alt="noctwolf" src="https://avatars.githubusercontent.com/u/21022467?s=64&v=4"></a> <a href="https://github.com/xianyun666" target="_blank"><img style="border-radius:50%!important" width="64px" alt="xianyun666" src="https://avatars.githubusercontent.com/u/22339210?s=64&v=4"></a> <a href="https://github.com/afunc233" target="_blank"><img style="border-radius:50%!important" width="64px" alt="afunc233" src="https://avatars.githubusercontent.com/u/19919631?s=64&v=4"></a> <a href="https://github.com/DinoChan" target="_blank"><img style="border-radius:50%!important" width="64px" alt="DinoChan" src="https://avatars.githubusercontent.com/u/6076257?s=64&v=4"></a> <a href="https://github.com/MrZhangYuan" target="_blank"><img style="border-radius:50%!important" width="64px" alt="MrZhangYuan" src="https://avatars.githubusercontent.com/u/16384123?s=64&v=4"></a> <a href="https://github.com/JinhuaChen-OMEC" target="_blank"><img style="border-radius:50%!important" width="64px" alt="JinhuaChen-OMEC" src="https://avatars.githubusercontent.com/u/47024703?s=64&v=4"></a> <a href="https://github.com/seedtyx" target="_blank"><img style="border-radius:50%!important" width="64px" alt="seedtyx" src="https://avatars.githubusercontent.com/u/5851975?s=64&v=4"></a> <a href="https://github.com/KleinPan" target="_blank"><img style="border-radius:50%!important" width="64px" alt="KleinPan" src="https://avatars.githubusercontent.com/u/34428802?s=64&v=4"></a> <a href="https://github.com/yxhq" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yxhq" src="https://avatars.githubusercontent.com/u/10378954?s=64&v=4"></a> <a href="https://github.com/AiHaibara" target="_blank"><img style="border-radius:50%!important" width="64px" alt="AiHaibara" src="https://avatars.githubusercontent.com/u/5195234?s=64&v=4"></a> <a href="https://github.com/walterlv" target="_blank"><img style="border-radius:50%!important" width="64px" alt="walterlv" src="https://avatars.githubusercontent.com/u/9959623?s=64&v=4"></a> <a href="https://github.com/Luoyingliang" target="_blank"><img style="border-radius:50%!important" width="64px" alt="Luoyingliang" src="https://avatars.githubusercontent.com/u/29297262?s=64&v=4"></a> <a href="https://github.com/lindexi" target="_blank"><img style="border-radius:50%!important" width="64px" alt="lindexi" src="https://avatars.githubusercontent.com/u/16054566?s=64&v=4"></a> <a href="https://github.com/danwalmsley" target="_blank"><img style="border-radius:50%!important" width="64px" alt="danwalmsley" src="https://avatars.githubusercontent.com/u/4672627?s=64&v=4"></a> <a href="https://github.com/varKeytrap" target="_blank"><img style="border-radius:50%!important" width="64px" alt="varKeytrap" src="https://avatars.githubusercontent.com/u/17864005?s=64&v=4"></a> <a href="https://github.com/xsnakes" target="_blank"><img style="border-radius:50%!important" width="64px" alt="xsnakes" src="https://avatars.githubusercontent.com/u/4363683?s=64&v=4"></a> <a href="https://github.com/mmasdivins" target="_blank"><img style="border-radius:50%!important" width="64px" alt="mmasdivins" src="https://avatars.githubusercontent.com/u/63245359?s=64&v=4"></a> <a href="https://github.com/GF-Huang" target="_blank"><img style="border-radius:50%!important" width="64px" alt="GF-Huang" src="https://avatars.githubusercontent.com/u/4510984?s=64v=4"></a> <a href="https://github.com/cuiliang" target="_blank"><img style="border-radius:50%!important" width="64px" alt="cuiliang" src="https://avatars.githubusercontent.com/u/1972649?s=64&v=4"></a> <a href="https://github.com/lwqwag" target="_blank"><img style="border-radius:50%!important" width="64px" alt="lwqwag" src="https://avatars.githubusercontent.com/u/29883542?s=64&v=4"></a> <a href="https://github.com/Epacik" target="_blank"><img style="border-radius:50%!important" width="64px" alt="Epacik" src="https://avatars.githubusercontent.com/u/23077337?s=64&v=4"></a> <a href="https://github.com/ChoKaPeek" target="_blank"><img style="border-radius:50%!important" width="64px" alt="ChoKaPeek" src="https://avatars.githubusercontent.com/u/16904907?s=64&v=4"></a> <a href="https://github.com/shaosu" target="_blank"><img style="border-radius:50%!important" width="64px" alt="shaosu" src="https://avatars.githubusercontent.com/u/12237247?s=64&v=4"></a> <a href="https://github.com/imba-tjd" target="_blank"><img style="border-radius:50%!important" width="64px" alt="imba-tjd" src="https://avatars.githubusercontent.com/u/24759802?s=64&v=4"></a> <a href="https://github.com/jhm-ciberman" target="_blank"><img style="border-radius:50%!important" width="64px" alt="jhm-ciberman" src="https://avatars.githubusercontent.com/u/7988351?s=64&v=4"></a> <a href="https://github.com/musashi-miyamoto" target="_blank"><img style="border-radius:50%!important" width="64px" alt="musashi-miyamoto" src="https://avatars.githubusercontent.com/u/44890163?s=64&v=4"></a> <a href="https://github.com/kingsznhone" target="_blank"><img style="border-radius:50%!important" width="64px" alt="kingsznhone" src="https://avatars.githubusercontent.com/u/35349300?s=64&v=4"></a> <a href="https://github.com/asine" target="_blank"><img style="border-radius:50%!important" width="64px" alt="asine" src="https://avatars.githubusercontent.com/u/3248918?s=64&v=4"></a> <a href="https://github.com/zsh2401" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zsh2401" src="https://avatars.githubusercontent.com/u/16505828?s=64&v=4"></a> <a href="https://github.com/fpprojecta" target="_blank"><img style="border-radius:50%!important" width="64px" alt="fpprojecta" src="https://avatars.githubusercontent.com/u/145004301?s=64&v=4"></a> <a href="https://github.com/keytrap-x86" target="_blank"><img style="border-radius:50%!important" width="64px" alt="keytrap-x86" src="https://avatars.githubusercontent.com/u/17864005?s=64&v=4"></a>

Backers

<a href="https://github.com/bigorange1900" target="_blank"><img style="border-radius:50%!important" width="64px" alt="bigorange1900" src="https://avatars.githubusercontent.com/u/49062011?s=64&v=4"></a> <a href="https://github.com/14632791" target="_blank"><img style="border-radius:50%!important" width="64px" alt="14632791" src="https://avatars.githubusercontent.com/u/27358331?s=64&v=4"></a> <a href="https://github.com/IUpdatable" target="_blank"><img style="border-radius:50%!important" width="64px" alt="IUpdatable" src="https://avatars.githubusercontent.com/u/51181716?s=64&v=4"></a> <a href="https://github.com/maplewei" target="_blank"><img style="border-radius:50%!important" width="64px" alt="maplewei" src="https://avatars.githubusercontent.com/u/13778095?s=64&v=4"></a> <a href="https://github.com/sunshang-hl" target="_blank"><img style="border-radius:50%!important" width="64px" alt="sunshang-hl" src="https://avatars.githubusercontent.com/u/34593206?s=64&v=4"></a> <a href="https://github.com/yangkang326" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yangkang326" src="https://avatars.githubusercontent.com/u/51224259?s=64&v=4"></a> <a href="https://github.com/zmrbak" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zmrbak" src="https://avatars.githubusercontent.com/u/7257543?s=64&v=4"></a> <a href="https://github.com/AFei19911012" target="_blank"><img style="border-radius:50%!important" width="64px" alt="AFei19911012" src="https://avatars.githubusercontent.com/u/31465314?s=64&v=4"></a> <a href="https://github.com/wayne2006" target="_blank"><img style="border-radius:50%!important" width="64px" alt="wayne2006" src="https://avatars.githubusercontent.com/u/21210915?s=64&v=4"></a> <a href="https://github.com/towerDLH" target="_blank"><img style="border-radius:50%!important" width="64px" alt="towerDLH" src="https://avatars.githubusercontent.com/u/53053537?s=64&v=4"></a> <a href="https://github.com/BluceBosen" target="_blank"><img style="border-radius:50%!important" width="64px" alt="BluceBosen" src="https://avatars.githubusercontent.com/u/24750822?s=64&v=4"></a> <a href="https://github.com/MrZhangYuan" target="_blank"><img style="border-radius:50%!important" width="64px" alt="MrZhangYuan" src="https://avatars.githubusercontent.com/u/16384123?s=64&v=4"></a> <a href="https://github.com/YC946586" target="_blank"><img style="border-radius:50%!important" width="64px" alt="YC946586" src="https://avatars.githubusercontent.com/u/49895722?s=64&v=4"></a> <a href="https://github.com/wihalo" target="_blank"><img style="border-radius:50%!important" width="64px" alt="wihalo" src="https://avatars.githubusercontent.com/u/26402999?s=64&v=4"></a> <a href="https://github.com/startewho" target="_blank"><img style="border-radius:50%!important" width="64px" alt="startewho" src="https://avatars.githubusercontent.com/u/898009?s=64&v=4"></a> <a href="https://github.com/5653325" target="_blank"><img style="border-radius:50%!important" width="64px" alt="5653325" src="https://avatars.githubusercontent.com/u/3361135?s=64&v=4"></a> <a href="https://github.com/LostAsk" target="_blank"><img style="border-radius:50%!important" width="64px" alt="LostAsk" src="https://avatars.githubusercontent.com/u/46678241?s=64&v=4"></a> <a href="https://github.com/sanshiliuxiao" target="_blank"><img style="border-radius:50%!important" width="64px" alt="sanshiliuxiao" src="https://avatars.githubusercontent.com/u/25658690?s=64&v=4"></a> <a href="https://github.com/QJJMSK" target="_blank"><img style="border-radius:50%!important" width="64px" alt="QJJMSK" src="https://avatars.githubusercontent.com/u/28100716?s=64&v=4"></a> <a href="https://github.com/dspcjy" target="_blank"><img style="border-radius:50%!important" width="64px" alt="dspcjy" src="https://avatars.githubusercontent.com/u/17764711?s=64&v=4"></a> <a href="https://github.com/yaronzz" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yaronzz" src="https://avatars.githubusercontent.com/u/15530958?s=64&v=4"></a> <a href="https://github.com/cuiliang" target="_blank"><img style="border-radius:50%!important" width="64px" alt="cuiliang" src="https://avatars.githubusercontent.com/u/1972649?s=64&v=4"></a> <a href="https://github.com/GenmTim" target="_blank"><img style="border-radius:50%!important" width="64px" alt="GenmTim" src="https://avatars.githubusercontent.com/u/69684108?s=64&v=4"></a> <a href="https://github.com/ms1094392787" target="_blank"><img style="border-radius:50%!important" width="64px" alt="ms1094392787" src="https://avatars.githubusercontent.com/u/49998334?s=64&v=4"></a> <a href="https://gitee.com/ZJHome" target="_blank"><img style="border-radius:50%!important" width="64px" alt="ZJHome" src="https://tvax2.sinaimg.cn/crop.0.0.1080.1080.180/69543af8ly8gf4iat3amdj20u00u0whg.jpg"></a> <a href="https://github.com/JeremyWu917" target="_blank"><img style="border-radius:50%!important" width="64px" alt="JeremyWu917" src="https://avatars.githubusercontent.com/u/54832272?s=64&v=4"></a> <a href="https://github.com/cagedh1" target="_blank"><img style="border-radius:50%!important" width="64px" alt="cagedh1" src="https://avatars.githubusercontent.com/u/48586139?s=64&v=4"></a> <a href="https://github.com/Yangf85" target="_blank"><img style="border-radius:50%!important" width="64px" alt="Yangf85" src="https://avatars.githubusercontent.com/u/42733580?s=64&v=4"></a> <a href="https://github.com/hellozy320" target="_blank"><img style="border-radius:50%!important" width="64px" alt="hellozy320" src="https://avatars.githubusercontent.com/u/68945043?s=64&v=4"></a> <a href="https://github.com/inows" target="_blank"><img style="border-radius:50%!important" width="64px" alt="inows" src="https://avatars.githubusercontent.com/u/15324558?s=64&v=4"></a> <a href="https://github.com/oo-simbo" target="_blank"><img style="border-radius:50%!important" width="64px" alt="oo-simbo" src="https://avatars.githubusercontent.com/u/49231532?s=64&v=4"></a> <a href="https://github.com/775253959" target="_blank"><img style="border-radius:50%!important" width="64px" alt="775253959" src="https://avatars.githubusercontent.com/u/24452103?s=64&v=4"></a> <a href="https://github.com/IanXxu" target="_blank"><img style="border-radius:50%!important" width="64px" alt="IanXxu" src="https://avatars.githubusercontent.com/u/19760451?s=64&v=4"></a> <a href="https://github.com/NightwishMeng" target="_blank"><img style="border-radius:50%!important" width="64px" alt="NightwishMeng" src="https://avatars.githubusercontent.com/u/32695316?s64&v=4"></a> <a href="https://github.com/tonghudan" target="_blank"><img style="border-radius:50%!important" width="64px" alt="tonghudan" src="https://avatars.githubusercontent.com/u/14705603?s=64&v=4"></a> <a href="https://github.com/Removable" target="_blank"><img style="border-radius:50%!important" width="64px" alt="Removable" src="https://avatars.githubusercontent.com/u/7271713?s=64&v=4"></a> <a href="https://github.com/nicecodeclub" target="_blank"><img style="border-radius:50%!important" width="64px" alt="nicecodeclub" src="https://avatars.githubusercontent.com/u/12929071?s=64&v=4"></a> <a href="https://github.com/Jajison" target="_blank"><img style="border-radius:50%!important" width="64px" alt="Jajison" src="https://avatars.githubusercontent.com/u/60476418?s=64&v=4"></a> <a href="https://github.com/xyghy13" target="_blank"><img style="border-radius:50%!important" width="64px" alt="xyghy13" src="https://avatars.githubusercontent.com/u/27751725?s=64&v=4"></a> <a href="https://github.com/icarousfff" target="_blank"><img style="border-radius:50%!important" width="64px" alt="icarousfff" src="https://avatars.githubusercontent.com/u/49859230?s=64&v=4"></a> <a href="https://github.com/qiang9420d" target="_blank"><img style="border-radius:50%!important" width="64px" alt="qiang9420d" src="https://avatars.githubusercontent.com/u/22925262?s=64&v=4"></a> <a href="https://github.com/zhongwcool" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zhongwcool" src="https://avatars.githubusercontent.com/u/5747392?s=64&v=4"></a> <a href="https://github.com/HenJigg" target="_blank"><img style="border-radius:50%!important" width="64px" alt="HenJigg" src="https://avatars.githubusercontent.com/u/42528522?s=64&v=4"></a> <a href="https://github.com/MysticABC" target="_blank"><img style="border-radius:50%!important" width="64px" alt="MysticABC" src="https://avatars.githubusercontent.com/u/53632904?s=64&v=4"></a>

Special thanks to

Visual Studio Community 2019 JetBrains Cake

Projects using HandyControl

<a href="https://getquicker.net" target="_blank"><img width="70px" alt="quicker" src="https://i0.hdslb.com/bfs/face/3765a3d0ce5da37e1aaa830d2eec6d3e0806a2d8.jpg@96w_96h_1c.webp"></a> <a href="https://www.phpenv.cn" target="_blank"><img width="70px" alt="phpenv" src="https://www.phpenv.cn/usr/themes/phpenv/img/logo.png"></a> <a href="https://github.com/zsh2401/AutumnBox" target="_blank"><img width="70px" alt="AutumnBox" src="https://raw.githubusercontent.com/zsh2401/AutumnBox/master/src/AutumnBox.GUI/Resources/Icons/icon.ico"></a>

if your project is not listed here, let us know! 😀

Usage

Step 1: Add a reference to HandyControl or search for HandyControl on the nuget;

Install-Package HandyControl

Step 2: Add code in App.xaml as follows:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
            <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Step 3: Add NameSpace: xmlns:hc="https://handyorg.github.io/handycontrol"

Step 4: Enjoy coding

VSIX packages for Visual Studio

VS2019

Stargazers over time

Stargazers over time

Overview

Overview

Overview-dark

Latest examples

Watermark

Watermark

AutoCompleteTextBox

AutoCompleteTextBox

ElementGroup

ElementGroup

UniformSpacingPanel

UniformSpacingPanel

FlexPanel

FlexPanel

History publication

CheckComboBox

CheckComboBox

ImageSelector

ImageSelector

PropertyGrid

PropertyGrid

Screenshot

Screenshot

GooeyEffect

GooeyEffect

GlowWindow

GlowWindow

FlowDocumentScrollViewerStyle

FlowDocumentScrollViewerStyle

PinBox

PinBox

Effects

Effects

RelativePanel

RelativePanel

Drawer

Drawer

Poptip

Poptip

Divider

Divider

GeometryAnimation

GeometryAnimation

SplitButton

SplitButton

FloatingBlock

FloatingBlock

HoneycombPanel

HoneycombPanel

RunningBlock

RunningBlock

ImageBlock

ImageBlock

ImageBlock

Magnifier

Magnifier

Card

Card

ButtonGroup

ButtonGroup

Grid

Grid

SideMenu

SideMenu

NotifyIcon

NotifyIcon

Dialog

Dialog

WaveProgressBar

WaveProgressBar

Badge

Badge

Gravatar

Gravatar

GoToTop

GoToTop

ChatBubble

ChatBubble

Label

Label

Transfer

Transfer

ProgressButton

ProgressButton

CoverFlow

CoverFlow

CoverView

CoverView

MessageBox

MessageBox

WaterfallPanel

WaterfallPanel

Rate

Rate

BlurWindow

BlurWindow

FlipClock

FlipClock

Shield

Shield

OutlineText

OutlineText

Tag

Tag

ToolBar

ToolBar

Slider

Slider

RangeSlider

RangeSlider

CircleProgressBar

CircleProgressBar

ButtonStyle

ButtonStyle

ToggleButtonStyle

ToggleButtonStyle

RadioButtonStyle

RadioButtonStyle

CheckBoxStyle

CheckBoxStyle

ListBoxStyle

ListBoxStyle

TreeViewStyle

TreeViewStyle

ListViewStyle

ListViewStyle

DataGrid

DataGrid

Now you can switch to dark theme

dark theme

ColorPicker

ColorPicker

Loading

Loading

Carousel

Carousel

Pagination

Pagination

Expander

Expander

TimeBar

TimeBar

ImageBrowser

ImageBrowser

PreviewSlider

PreviewSlider

CompareSlider

CompareSlider

CompareSlider

Growl

Growl

AnimationPath

AnimationPath

ProgressBar

ProgressBar

TabControl

TabControl

TabControlStyle

TabControlStyle

GroupBox

GroupBox

StepBar

StepBar

GifImage

GifImage

ContextMenu

ContextMenu

Calendar

Calendar

Clock

Clock

CalendarWithClock

CalendarWithClock

TextBlock

TextBlock

RichTextBoxStyle

RichTextBoxStyle

TextBox

TextBox

ComboBox

ComboBox

NumericUpDown

NumericUpDown

SearchBar

SearchBar

PasswordBox

PasswordBox

DatePicker

DatePicker

TimePicker

TimePicker

DateTimePicker

DateTimePicker

ScrollViewer

ScrollViewer

CirclePanel

CirclePanel

TransitioningContentControl

TransitioningContentControl

BorderStyle

BorderStyle

Brush

Brush