QianToolsUI 1.1.8

dotnet add package QianToolsUI --version 1.1.8
                    
NuGet\Install-Package QianToolsUI -Version 1.1.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QianToolsUI" Version="1.1.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QianToolsUI" Version="1.1.8" />
                    
Directory.Packages.props
<PackageReference Include="QianToolsUI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add QianToolsUI --version 1.1.8
                    
#r "nuget: QianToolsUI, 1.1.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package QianToolsUI@1.1.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=QianToolsUI&version=1.1.8
                    
Install as a Cake Addin
#tool nuget:?package=QianToolsUI&version=1.1.8
                    
Install as a Cake Tool

QianToolsUI

WPF 现代 UI 控件库和 MVVM 工具集,面向工业自动化 HMI/SCADA 场景。

🎨 主题

主题 风格 适用场景
Light 知乎深蓝 #2254F4,现代明亮 通用桌面应用
Dark 暗色护眼 编码工具,夜间使用
Industrial 工业灰蓝,钢蓝配色 工控上位机 HMI/SCADA
IndustrialDark 深蓝黑底,钢蓝强调 监控大屏,暗房环境
ThemeService.LoadTheme("Industrial"); // 运行时一键切换

📦 安装

dotnet add package QianToolsUI.Controls

🧩 控件清单

自定义控件(25 个)

输入类
控件 说明 用法
WatermarkTextBox 水印文本框 <ctrl:WatermarkTextBox Watermark="请输入..." />
NumericUpDown 数值调节 <ctrl:NumericUpDown Value="25" Minimum="0" Maximum="100" />
SearchBar 搜索框 <ctrl:SearchBar Placeholder="搜索..." />
IpTextBox IP 地址输入 <ctrl:IpTextBox IpAddress="192.168.1.1" />
PinBox 验证码/PIN 输入 <ctrl:PinBox Length="6" IsPrivacy="True" />
TimePicker 时间选择 <ctrl:TimePicker />
ColorPicker 颜色选择器 <ctrl:ColorPicker SelectedColor="Blue" />
状态指示
控件 说明 用法
StatusIndicator I/O 点位指示器 <ctrl:StatusIndicator Shape="Circle" State="On" />
Badge 角标 <ctrl:Badge BadgeText="99+" BadgeType="Danger">...
Tag 标签/Chip <ctrl:Tag Content="运行中" TagType="Success" Closable="True" />
Shield 徽章 <ctrl:Shield Content="故障" ShieldType="Danger" Count="3" />
进度与仪表
控件 说明 用法
CircleProgressBar 环形进度(Ring/Stripe) <ctrl:CircleProgressBar Value="75" StrokeThickness="10" />
WaveProgressBar 波浪液位 <ctrl:WaveProgressBar Value="75" />
DigitalDisplay LED 数码管 <ctrl:DigitalDisplay Value="387.2" Unit="V" Label="A相电压" />
StepBar 步骤条 <ctrl:StepBar ActiveIndex="2">
容器
控件 说明 用法
Card 卡片容器 <ctrl:Card Title="标题">...
GroupBox 分组面板 <ctrl:GroupBox Header="设备控制">...
Expander 折叠面板 <ctrl:Expander Header="参数设置">...
FormItem 表单项(Left/Top + 验证) <ctrl:FormItem Header="标签" LabelPosition="Top">...
DashboardPanel 仪表盘面板 <ctrl:DashboardPanel Header="📊 监控">...
反馈
控件 说明 用法
Growl 全局通知 Growl.Success("操作完成")
QianMessageBox 模态弹窗 QianMessageBox.Info("提示")
Notification 顶部通知条 Notification.Show("消息", NotificationType.Success)
Empty 空状态占位 <ctrl:Empty Description="暂无数据" />
数据
控件 说明 用法
Transfer 穿梭框 <ctrl:Transfer ItemsSource="{Binding All}" SelectedItems="{Binding Sel}" />
Pagination 分页 <ctrl:Pagination Total="200" PageSize="20" CurrentPage="3" />

标准控件样式(15 类)

Button(7变体) / TextBox / PasswordBox / ComboBox / CheckBox(Switch) / RadioButton / ProgressBar / Slider / TabControl / DataGrid / ListBox / ListView / TreeView / ScrollBar / Calendar(DatePicker) / ContextMenu / ToolTip

核心库(QianToolsUI)

MVVM 基础:ObservableObject / RelayCommand / AsyncRelayCommand 值转换器 / 附加行为 / 标记扩展 多语言:LocalizationService.Switch("en") / {Loc KeyName} 标记扩展

🌐 多语言

支持 中文 / English / 日本語:

LocalizationService.Switch("en"); // 切换到英文
string label = LocalizationService.Get("Common.OK"); // 获取本地化字符串
<TextBlock Text="{markup:Loc Common.Search}" />

🚀 代码示例

// 主题切换
ThemeService.LoadDark();

// 通知
Growl.Success("操作成功");
Notification.Show("连接失败", NotificationType.Error);

// 多语言
LocalizationService.Switch("en");

<ctrl:StatusIndicator Shape="Square" InteractionMode="Toggle"
    Label="电机 M1" Address="Q0.0" />


<ctrl:PinBox Length="6" IsPrivacy="True" />


<ctrl:FormItem Header="设备名称" IsRequired="True"
               LabelPosition="Top" Description="PLC 标识">
    <ctrl:WatermarkTextBox Watermark="请输入" />
</ctrl:FormItem>


<ctrl:DashboardPanel Header="📊 电气参数">
    <WrapPanel>
        <ctrl:CircleProgressBar Value="72" StrokeThickness="10"
                                Foreground="{DynamicResource Brush.Selection}" />
        <ctrl:DigitalDisplay Value="387.2" Unit="V" Label="电压" />
        <ctrl:WaveProgressBar Value="65" />
    </WrapPanel>
</ctrl:DashboardPanel>


<ctrl:Transfer ItemsSource="{Binding AllDevices}"
               SelectedItems="{Binding SelectedDevices}"
               HeaderLeft="可用设备" HeaderRight="已选设备"
               DisplayMemberPath="Name" />


<ctrl:StepBar ActiveIndex="2">
    <ctrl:StepBarItem Content="原料准备" />
    <ctrl:StepBarItem Content="加工处理" />
    <ctrl:StepBarItem Content="质量检测" />
</ctrl:StepBar>

📊 项目结构

QianToolsUI/
├── src/
│   ├── QianToolsUI/                  # 核心库 (net8.0/9.0/10.0)
│   │   ├── MVVM/                     # ObservableObject, RelayCommand
│   │   ├── Converters/               # 值转换器
│   │   ├── Behaviors/                # 附加行为
│   │   ├── Markup/                   # LocExtension, EnumBinding
│   │   ├── Services/                 # LocalizationService
│   │   └── Langs/                    # 语言包 (zh-CN/en/ja)
│   ├── QianToolsUI.Controls/         # 控件库 (net8.0)
│   │   ├── Controls/                 # 25 个自定义控件
│   │   ├── Themes/                   # 4 套主题 + 15 类样式
│   │   ├── Converters/               # 控件专用转换器
│   │   └── Theming/                  # ThemeService
│   └── QianToolsUI.Demo/            # 演示应用
│       ├── Views/                   # 9 个展示页面
│       └── ViewModels/

🔧 集成

App.xaml

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/QianToolsUI.Controls;component/Themes/Generic.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

📄 许可

MIT License

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0-windows7.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on QianToolsUI:

Package Downloads
QianToolsUI.Controls

Custom WPF controls with light/dark theme support — NumericUpDown, SearchBar, ColorPicker, Growl, MessageBox, Badge, and more.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.8 138 8/7/2026
1.1.2 136 8/7/2026
1.0.4 116 8/6/2026
1.0.3 109 8/6/2026
1.0.2 116 8/6/2026
1.0.1 126 8/6/2026
1.0.0 119 8/5/2026