CgdataBase.WPF.Plus
1.9.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package CgdataBase.WPF.Plus --version 1.9.6
NuGet\Install-Package CgdataBase.WPF.Plus -Version 1.9.6
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="CgdataBase.WPF.Plus" Version="1.9.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CgdataBase.WPF.Plus" Version="1.9.6" />
<PackageReference Include="CgdataBase.WPF.Plus" />
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 CgdataBase.WPF.Plus --version 1.9.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: CgdataBase.WPF.Plus, 1.9.6"
#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 CgdataBase.WPF.Plus@1.9.6
#: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=CgdataBase.WPF.Plus&version=1.9.6
#tool nuget:?package=CgdataBase.WPF.Plus&version=1.9.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CgdataBase.WPF.Plus
概述
CgdataBase.WPF.Plus 是面向 WPF 应用的“增强包”,在 CgdataBase.WPF.Common 的基础上,进一步整合了:
- 数据访问(FreeSql 的轻量封装,支持离线 SQLite / 在线 MySQL 等)
- 一组开箱即用的对话框与业务窗口(输入框、消息框、关于、设置、字体选择、语音选择等)
适合希望快速搭建基础设施(配置、通知、日志、DI、数据访问)并直接复用常用窗口的 WPF 项目。
目标框架
net8.0-windowsnet10.0-windows
依赖关系
- 直接依赖:
CgdataBase.WPF.Common:WPF 通用基础设施与控件/行为(通知、单例、校验、Excel、版本探测、IocManage 等)CgdataBase.FreeSql:FreeSql 相关封装(IDataHelper/DataHelper等)
- 传递依赖(由项目文件决定,以下为主要组件):
FreeSql及其驱动/扩展:FreeSql.Extensions.JsonMap、FreeSql.Provider.MySqlConnector、FreeSql.Provider.SqliteMiniExcel:Excel 导入/导出(语音库导入/导出)Prism.Unity:MVVM / 容器 /DelegateCommand等(来自CgdataBase.WPF.Common)PropertyChanged.Fody:属性变更编织(部分 ViewModel 使用DependsOn等特性)
目录结构
Models/:业务模型示例(如VoiceInfo)ViewModels/:窗口对应的 ViewModel(如WinSettingsBaseViewModel、WinSelectVoiceViewModel)Views/:可复用窗口/控件(输入框、消息框、关于、设置、字体/语音选择等)
主要能力
1) 数据访问:IDataHelper / DataHelper(FreeSql 封装)
- 提供常用 CRUD 封装:新增、更新、删除、查询、按条件筛选、按主键查询、SQL 查询等
- 支持离线数据库模式:默认使用程序目录下的
database.db(SQLite),无需额外部署 - 支持在线数据库模式:根据
IAppSettingsBase中的DatabaseType/DatabaseConnectionString初始化连接
相关类型:
IDataHelper/DataHelper(来自CgdataBase.FreeSql)IBaseInfo:数据表实体基础接口(需包含Id主键)
2) 常用窗口与对话框(Views)
MessageBox:统一风格的消息框(支持OK/OKCancel/YesNo/YesNoCancel)InputBox/InputBox2:输入对话框(单行/多行)WinAbout:关于窗口(可选:版本检查入口)WinSettingsBase:通用设置窗口(字体 / 数据库 / 文本字体等)WinSelectFont:字体选择窗口(支持中文字体过滤)WinSelectVoice:语音选择窗口(支持筛选、编辑、导入/导出)
3) 语音库管理(WinSelectVoiceViewModel)
- 支持按性别与关键字过滤(
ShowItems) - 支持语音个性字段编辑、删除、清空
- 支持 Excel 导入/导出(
.xlsx,基于MiniExcel) - 数据持久化基于
IDataHelper,实体示例为VoiceInfo
快速开始
1) 安装
通过 NuGet 引用 CgdataBase.WPF.Plus(会自动带上所需的基础包与依赖)。
2) 初始化配置与数据访问
在应用启动时加载配置,并初始化 IocManage 与数据库连接(示例为 Prism 应用,非 Prism 场景可自行调整容器与配置注册方式):
var settings = new AppSettingsBase();
settings.LoadConfig();
IocManage.Initialize(containerProvider, settings);
DataHelper.InitializeDatabase(settings, DataHelper.Instance);
3) 使用内置对话框
var text = InputBox.Show(ApplicationBase.GetActiveWindow(), "请输入内容:", "", "输入");
if (text.IsContainValidText())
{
MessageBox.Show(ApplicationBase.GetActiveWindow(), $"你输入的是:{text}", "提示");
}
4) 打开设置窗口(WinSettingsBase)
var win = new WinSettingsBase { Owner = ApplicationBase.GetActiveWindow() };
win.DataContext = new WinSettingsBaseViewModel(IocManage.Settings, SettingsMode.字体_数据库);
win.ShowDialog();
5) 打开语音选择窗口(WinSelectVoice)
var win = new WinSelectVoice { Owner = ApplicationBase.GetActiveWindow() };
var vm = new WinSelectVoiceViewModel(IocManage.Settings, DataHelper.Instance);
win.DataContext = vm;
vm.LoadInfo(voiceName: "");
if (win.ShowDialog() == true)
{
var selected = vm.SelectedItem;
var voiceName = selected?.Name;
}
相关说明
- 本包聚合了较多“应用侧常用能力”,建议配合阅读:CgdataBase.WPF.Common/README.md 与 CgdataBase.FreeSql/README.md。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. net10.0-windows7.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0-windows7.0
- CgdataBase.FreeSql (>= 1.9.6)
- CgdataBase.WPF.Common (>= 1.9.6)
- MiniExcel (>= 1.42.0)
- ReactiveUI (>= 22.2.1)
-
net8.0-windows7.0
- CgdataBase.FreeSql (>= 1.9.6)
- CgdataBase.WPF.Common (>= 1.9.6)
- MiniExcel (>= 1.42.0)
- ReactiveUI (>= 22.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.9.21 | 90 | 4/15/2026 |
| 1.9.19 | 83 | 4/8/2026 |
| 1.9.16 | 80 | 4/7/2026 |
| 1.9.12 | 92 | 4/3/2026 |
| 1.9.11 | 99 | 3/25/2026 |
| 1.9.8.2 | 90 | 3/23/2026 |
| 1.9.7 | 84 | 3/23/2026 |
| 1.9.6 | 90 | 3/20/2026 |
| 1.9.5 | 90 | 3/19/2026 |
| 1.9.4 | 89 | 3/18/2026 |
| 1.9.3.3 | 112 | 2/10/2026 |
| 1.9.3.2 | 100 | 2/10/2026 |
| 1.9.3.1 | 101 | 2/6/2026 |
| 1.9.3 | 115 | 1/6/2026 |
| 1.9.2.3 | 197 | 12/25/2025 |
| 1.9.2.2 | 130 | 12/13/2025 |
| 1.9.2.1 | 197 | 12/5/2025 |
| 1.9.1.3 | 209 | 11/25/2025 |
| 1.9.1 | 280 | 11/22/2025 |
| 1.9.0 | 340 | 11/21/2025 |
Loading failed