# WpfAdmin.HandyControlExt **Repository Path**: wpfadmin/wa.handycontrolext ## Basic Information - **Project Name**: WpfAdmin.HandyControlExt - **Description**: No description available - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-09 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WpfAdmin.HandyControlExt 一个基于 HandyControl 的 WPF UI 扩展库,提供统一的主题系统(浅色/暗色)与常用业务控件/行为/附加属性,开箱即用地提升应用一致性与开发效率。 ## 功能概览 - **主题系统**:浅色/暗色两套配色,集中于 `Themes/Theme.xaml` 管理 - **基础资源**:统一的颜色、画笔、字体、转换器 - **控件集**:`Breadcrumb`、`SidebarMenu`、`DialogTitleBar`、`SearchBox`、`NavScrollPanel` 等 - **行为/附加属性**:`TextBoxPopupBehavior`、`DatePickerAttach`、`WindowAttach` - **主题切换**:`ThemeToggleButton` 控件与 `ThemeManager` 编程接口 ## 环境要求 - **.NET**:`net10.0-windows10.0.19041` - **WPF**:已启用 - **依赖**:`HandyControl (3.6.0-rc2)` ## 安装与引用 ### 1) 添加项目引用 ```xml WinExe net10.0-windows10.0.19041 true ``` ### 2) 在 App.xaml 合并主题资源 ```xml ``` **说明**:仅需合并 `Themes/Theme.xaml`,其余颜色、画笔、字体、样式会自动按顺序加载。 ### 3) 使用控件示例 ```xml ``` ## 主题与外观 ### 主题切换(控件) ```xml ``` ### 主题切换(代码) ```csharp using WpfAdmin.HandyControlExt.Controls; // 切换到暗色 ThemeManager.SwitchTheme("Dark"); // 切换到浅色 ThemeManager.SwitchTheme("Light"); // 当前主题 string currentTheme = ThemeManager.CurrentTheme; // 订阅变化 ThemeManager.ThemeChanged += (sender, e) => { Console.WriteLine($"主题从 {e.OldTheme} 切换到 {e.NewTheme}"); }; ``` ### 资源说明 - **颜色**:`Themes/Basic/Colors/Colors.xaml` 与 `ColorsDark.xaml` - **画笔**:`Themes/Basic/Brushes.xaml` - **字体**:`Themes/Basic/Fonts.xaml` - **转换器**:`Themes/Basic/Converters.xaml` - **控件样式**:`Themes/Styles/*.xaml` - **主题总入口**:`Themes/Theme.xaml` 更多细节可参考 `src/README_Theme.md`。 ## 可用组件 - **控件**:`Breadcrumb`、`BreadcrumbItem`、`DialogTitleBar`、`NavScrollPanel`、`SearchBox`、`SidebarMenu`、`SidebarMenuItem`、`ThemeToggleButton` - **行为**:`TextBoxPopupBehavior` - **附加属性**:`DatePickerAttach`、`WindowAttach` - **转换器**:`Boolean2BooleanReConverter`、`Boolean2VisibilityReConverter`、`String2BooleanConverter`、`String2VisibilityConverter` ## 构建与调试 - 目标框架:`net10.0-windows10.0.19041` - 预构建步骤:项目包含 `Themes/XamlCombine.exe` 与 `Themes/Theme.txt`,在构建前会自动合并生成 `Themes/Theme.xaml`(由 `PreBuild` 目标触发)。 ## 许可证 本项目采用 `MIT` 许可协议,详见根目录 `LICENSE`。