首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WPF 开发者必备!这个开源控件库让你告别“丑界面”

WPF 开发者必备!这个开源控件库让你告别“丑界面”

作者头像
郑子铭
发布2025-09-02 17:30:26
发布2025-09-02 17:30:26
21800
代码可运行
举报
运行总次数:0
代码可运行

HandyControl 是一个开源、功能强大的 WPF 控件库。它专为 .NET 开发者设计。它的目标是简化 WPF 应用程序的界面开发。它可以提升用户界面的美观性和易用性。它重写了大部分原生控件的样式。它还提供了超过 80 种自定义控件,数量还在不断增加。它可以帮助开发者快速构建现代化、交互性强的桌面应用程序。

主要特点

  1. 1. 丰富的控件集合:HandyControl 包含 80 多个控件。比如按钮、下拉框(ComboBox)、评分控件(Rate)、滑块(Slider)、属性编辑器(PropertyGrid)等。这些控件覆盖了从基本输入到复杂交互的各种场景。
  2. 2. 美观的界面设计:控件采用扁平化风格。它们支持动态更换主题和背景色。它们提供现代化视觉体验。它解决了 WPF 原生控件样式单一的问题。
  3. 3. 跨平台与国际化:它支持跨平台开发。它也支持多语言界面。它适合全球化应用场景。
  4. 4. MVVM 架构支持:它与 MVVM 架构兼容。开发者可以专注于业务逻辑,不用过多关注界面设计。
  5. 5. 易于扩展:它支持自定义控件样式和功能。例如,可以结合阿里矢量图标库导入 Geometry 图标。这样可以增强界面表现力。
  6. 6. 开源免费:它基于 MIT 许可证。代码托管在 GitHub 和 Gitee。可以免费获取源码、示例和文档。

快速入门

1. 安装:通过 NuGet 包管理器安装。搜索 HandyControl 并安装。也可以直接下载源码编译。

代码语言:javascript
代码运行次数:0
运行
复制
Install-Package HandyControl

2. 配置:在项目的 App.xaml 文件中添加以下代码。这段代码用于引用 HandyControl 的样式和主题。

代码语言:javascript
代码运行次数:0
运行
复制
<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>

3. 添加命名空间:在 XAML 文件中引入 HandyControl 命名空间。

代码语言:javascript
代码运行次数:0
运行
复制
xmlns:hc="https://handyorg.github.io/handycontrol"

4. 使用控件:例如,使用 HandyControl 的按钮和通知控件。

代码语言:javascript
代码运行次数:0
运行
复制
<Window xmlns:hc="https://handyorg.github.io/handycontrol">
    <Grid>
        <Button Style="{StaticResource ButtonPrimary}" Content="点击显示通知" Click="Button_Click"/>
        <ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalAlignment="Right">
            <StackPanel hc:Growl.GrowlParent="True" VerticalAlignment="Top" Margin="0,10,10,10"/>
        </ScrollViewer>
    </Grid>
</Window>

对应的 C# 代码:

代码语言:javascript
代码运行次数:0
运行
复制
using HandyControl.Controls;
public partial class MainWindow : System.Windows.Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Growl.Success("显示一条通知!");
    }
}

文档展示

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

image
image

image

image
image

image

image
image

image

image
image

image

image
image

资源与支持

  • 官网:https://handyorg.github.io/handycontrol
  • GitHub:https://github.com/HandyOrg/HandyControl
  • Gitee:https://gitee.com/handyorg/HandyControl
  • NuGet:https://www.nuget.org/packages/HandyControl
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要特点
  • 快速入门
  • 文档展示
    • 资源与支持
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档