feat(skills): add HandyControl WPF component skills
Build / build (push) Canceled after 0s

This commit is contained in:
chfei committed 2026-10-27 09:12:40 +08:00
1 parent 72d9b295a0
commit 5d81c475c8
335 files changed
+7359

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
# HandyControl WPF 控件 Skills
参照 [Syncfusion WPF skills](https://github.com/syncfusion/wpf-ui-components-skills/tree/master/skills) 的“每控件一个 Skill + 按需 references”组织方式,为当前 HandyControl WPF 实现编写。内容从本仓库源码、样式和中文文档生成,不包含 Syncfusion 的实现文档或 API。
共 82 个 Skill:79 个已文档化的扩展控件主题,以及接入入口、主题、原生控件样式。一个主题可能包含多个类型,例如 grid 对应 Row/Col,loading 对应 LoadingLine/LoadingCircle。范围为 `doc/source/handycontrol/extend_controls/*/index.md`;未文档化类型可通过入口 Skill 按源码查找,不代表已单独提供 Skill。Avalonia 不在此集合内。
## 安装与使用
需要 Python 3.9 或更新版本,无第三方依赖。在仓库根目录执行:
```powershell
# 仅安装接入入口(默认安装到 CODEX_HOME/skills 或 ~/.codex/skills)
python skills/scripts/install_skills.py
# 按需安装控件;每个控件 Skill 自带接入说明与 API 导航,可独立使用
python skills/scripts/install_skills.py handycontrol-wpf-numeric-up-down handycontrol-wpf-dialog handycontrol-wpf-growl
# 查看名称 / 安装全部 / 更新已安装文件
python skills/scripts/install_skills.py --list
python skills/scripts/install_skills.py --all
python skills/scripts/install_skills.py --all --force
# 项目内安装(Codex 可发现的项目技能目录);其他支持 SKILL.md 的工具也可指定目录
python skills/scripts/install_skills.py --all --dest .agents/skills
```
默认不会覆盖已有同名目录;`--force` 更新文件但不删除额外文件。安装器先检查全部名称与目标目录,再复制;不修改业务工程、NuGet 引用或 AGENTS.md。不要把 skills/scripts 或 templates 当作独立 Skill 安装。
安装后在新会话中使用,例如:
```text
使用 $handycontrol-wpf,在当前 WPF 工程接入 HandyControl。
使用 $handycontrol-wpf-numeric-up-down,实现数量输入,范围 1–999,双向绑定到 Quantity。
使用 $handycontrol-wpf-dialog,实现带关闭按钮的页面内对话框。
使用 $handycontrol-wpf-native-styles,为现有原生 Button、TextBox 应用 HandyControl 样式。
使用 $handycontrol-wpf-theming,为现有应用添加深色皮肤。
```
## 文件与维护
- `handycontrol-wpf/SKILL.md`:统一入口,提供接入流程、排错及控件选择。
- `handycontrol-wpf/references/controls.md`:完整控件索引。
- `handycontrol-wpf-*/SKILL.md`:独立控件的使用约束、最小示例(适用时)。
- `references/api.md`:公共声明和本库基类导航;仅声明摘录,不可当作完整代码编译。
- `references/usage.md`:对应文档、样式和 Demo 源码位置。
- `agents/openai.yaml`:Codex 展示信息和调用提示,保留默认自动发现行为。
- `templates/`:维护接入、主题、原生样式手写内容的源文件。
- `scripts/build_skills.py`:生成全部 Skill;特殊用法和精选示例在 NOTES / EXAMPLES 中维护。
- `scripts/validate_skills.py`:检查生成一致性、元信息、引用、源码路径和 XML 语法。
```powershell
python skills/scripts/build_skills.py
python skills/scripts/validate_skills.py
```
修改生成文件后应同步修改模板或生成器,再重新生成。`build_skills.py --check` 只检查,不写入。删除控件主题时,生成器会报告遗留 Skill,由维护者确认后手动移除,避免自动删除用户内容。
API 摘录不含所有继承成员、访问器或条件编译分支。在线源码链接指向 master,使用旧 NuGet 包时需核对对应版本;优先以实际引用版本源码为准。XML 语法校验不等于 WPF 编译、资源解析或运行时验证。可继续使用“代码审查”检查使用这些 Skill 后生成的具体实现。
+86
View File
@@ -0,0 +1,86 @@
{
"skills": [
"handycontrol-wpf",
"handycontrol-wpf-animation-path",
"handycontrol-wpf-badge",
"handycontrol-wpf-blur-window",
"handycontrol-wpf-button-group",
"handycontrol-wpf-calendar-with-clock",
"handycontrol-wpf-card",
"handycontrol-wpf-carousel",
"handycontrol-wpf-chat-bubble",
"handycontrol-wpf-check-combo-box",
"handycontrol-wpf-circle-panel",
"handycontrol-wpf-circle-progress-bar",
"handycontrol-wpf-clock",
"handycontrol-wpf-color-picker",
"handycontrol-wpf-combo-box",
"handycontrol-wpf-compare-slider",
"handycontrol-wpf-context-menu-button",
"handycontrol-wpf-cover-flow",
"handycontrol-wpf-cover-view",
"handycontrol-wpf-dashed-border",
"handycontrol-wpf-date-picker",
"handycontrol-wpf-date-time-picker",
"handycontrol-wpf-dialog",
"handycontrol-wpf-divider",
"handycontrol-wpf-drawer",
"handycontrol-wpf-flip-clock",
"handycontrol-wpf-floating-block",
"handycontrol-wpf-gif-image",
"handycontrol-wpf-glow-window",
"handycontrol-wpf-goto-top",
"handycontrol-wpf-gravatar",
"handycontrol-wpf-grid",
"handycontrol-wpf-growl",
"handycontrol-wpf-honeycomb-panel",
"handycontrol-wpf-image-block",
"handycontrol-wpf-image-browser",
"handycontrol-wpf-image-selector",
"handycontrol-wpf-image-viewer",
"handycontrol-wpf-loading",
"handycontrol-wpf-magnifier",
"handycontrol-wpf-message-box",
"handycontrol-wpf-native-styles",
"handycontrol-wpf-notification",
"handycontrol-wpf-notify-icon",
"handycontrol-wpf-numeric-up-down",
"handycontrol-wpf-outline-text",
"handycontrol-wpf-pagination",
"handycontrol-wpf-password-box",
"handycontrol-wpf-pin-box",
"handycontrol-wpf-pop-tip",
"handycontrol-wpf-popup-window",
"handycontrol-wpf-preview-slider",
"handycontrol-wpf-progress-button",
"handycontrol-wpf-property-grid",
"handycontrol-wpf-range-slider",
"handycontrol-wpf-rate",
"handycontrol-wpf-relative-panel",
"handycontrol-wpf-running-block",
"handycontrol-wpf-screenshot",
"handycontrol-wpf-scroll-viewer",
"handycontrol-wpf-search-bar",
"handycontrol-wpf-shield",
"handycontrol-wpf-side-menu",
"handycontrol-wpf-simple-items-control",
"handycontrol-wpf-simple-panel",
"handycontrol-wpf-simple-text",
"handycontrol-wpf-split-button",
"handycontrol-wpf-sprite",
"handycontrol-wpf-step-bar",
"handycontrol-wpf-tab-control",
"handycontrol-wpf-tag",
"handycontrol-wpf-text-box",
"handycontrol-wpf-theming",
"handycontrol-wpf-time-bar",
"handycontrol-wpf-time-picker",
"handycontrol-wpf-toggle-block",
"handycontrol-wpf-transfer",
"handycontrol-wpf-transitioning-content-control",
"handycontrol-wpf-waterfall-panel",
"handycontrol-wpf-watermark",
"handycontrol-wpf-wave-progress-bar",
"handycontrol-wpf-window"
]
}
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-animation-path
description: "实现、配置或排查 HandyControl WPF 的 AnimationPath 动画路径(AnimationPath)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF AnimationPath 动画路径
实现或排查 **AnimationPath 动画路径**。相关类型:`AnimationPath`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF AnimationPath 动画路径"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-animation-path to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## AnimationPath
源码:[src/Shared/HandyControl_Shared/Controls/Other/AnimationPath.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/AnimationPath.cs)
```text
public class AnimationPath : Shape
public Geometry Data
public double PathLength
public Duration Duration
public bool IsPlaying
public RepeatBehavior RepeatBehavior
public FillBehavior FillBehavior
public AnimationPath()
public event EventHandler Completed
```
@@ -0,0 +1,16 @@
# AnimationPath 动画路径 使用导航
文档:[doc/source/handycontrol/extend_controls/animationPath/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/animationPath/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/animationPath/)
按任务阅读原文中的章节:属性、Data 数据、PathLength 路径长度、Duration 时间间隔、IsPlaying 是否正在播放动画、RepeatBehavior 重复行为、继承自Shape常用属性、相关事件、Completed。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/AnimationPath.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/AnimationPath.cs)
## 样式及官方示例
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/AnimationPathDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/AnimationPathDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/AnimationPathDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/AnimationPathDemo.xaml.cs)
+43
View File
@@ -0,0 +1,43 @@
---
name: handycontrol-wpf-badge
description: "实现、配置或排查 HandyControl WPF 的 Badge 标记(Badge)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Badge 标记
实现或排查 **Badge 标记**。相关类型:`Badge`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:Badge Value="12" Text="New" BadgeMargin="0,-14,-20,0" Height="30">
<Button Content="默认样式"/>
</hc:Badge>
<hc:Badge Value="12" BadgeMargin="0,-14,-20,0" Height="30">
<Button Content="默认样式"/>
</hc:Badge>
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Badge 标记"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-badge to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Badge
源码:[src/Shared/HandyControl_Shared/Controls/Other/Badge.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs)
```text
public class Badge : ContentControl
public event EventHandler<FunctionEventArgs<int>> ValueChanged
public string Text
public int Value
public BadgeStatus Status
public int Maximum
public Thickness BadgeMargin
public bool ShowBadge
public override void OnApplyTemplate()
```
@@ -0,0 +1,17 @@
# Badge 标记 使用导航
文档:[doc/source/handycontrol/extend_controls/badge/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/badge/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/badge/)
按任务阅读原文中的章节:基础属性、`Text`和`Value`、案例、效果、`Maximum`最大显示数值、案例、效果、`Status`标记状态类型、案例、效果、`BadgeMargin`相对外边距、案例、效果、事件、相关样式、案例、效果、FAQ、坐标偏移问题[版本 小于等于 2.4]、问题描述、现状、解决方案。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/Badge.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Badge.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Badge.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Badge.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/BadgeDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/BadgeDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/BadgeDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/BadgeDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-blur-window
description: "实现、配置或排查 HandyControl WPF 的 BlurWindow 背景模糊窗口(BlurWindow)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF BlurWindow 背景模糊窗口
实现或排查 **BlurWindow 背景模糊窗口**。相关类型:`BlurWindow`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF BlurWindow 背景模糊窗口"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-blur-window to implement the requested HandyControl WPF UI."
@@ -0,0 +1,38 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## BlurWindow
源码:[src/Shared/HandyControl_Shared/Controls/Window/BlurWindow.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Window/BlurWindow.cs)
```text
public class BlurWindow : Window
public override void OnApplyTemplate()
```
## Window
源码:[src/Shared/HandyControl_Shared/Controls/Window/Window.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Window/Window.cs)
```text
public class Window : System.Windows.Window
public Window()
public object NonClientAreaContent
public Brush CloseButtonHoverBackground
public Brush CloseButtonHoverForeground
public Brush CloseButtonBackground
public Brush CloseButtonForeground
public Brush OtherButtonBackground
public Brush OtherButtonForeground
public Brush OtherButtonHoverBackground
public Brush OtherButtonHoverForeground
public Brush NonClientAreaBackground
public Brush NonClientAreaForeground
public double NonClientAreaHeight
public bool ShowNonClientArea
public bool ShowTitle
public bool IsFullScreen
public bool ShowIcon
public override void OnApplyTemplate()
```
@@ -0,0 +1,15 @@
# BlurWindow 背景模糊窗口 使用导航
文档:[doc/source/handycontrol/extend_controls/blurWindow/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/blurWindow/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/blurWindow/)
按任务阅读原文中的章节:案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Window/BlurWindow.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Window/BlurWindow.cs)
## 样式及官方示例
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-button-group
description: "实现、配置或排查 HandyControl WPF 的 ButtonGroup 按钮组(ButtonGroup)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF ButtonGroup 按钮组
实现或排查 **ButtonGroup 按钮组**。相关类型:`ButtonGroup`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF ButtonGroup 按钮组"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-button-group to implement the requested HandyControl WPF UI."
@@ -0,0 +1,13 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## ButtonGroup
源码:[src/Shared/HandyControl_Shared/Controls/Button/ButtonGroup.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Button/ButtonGroup.cs)
```text
public class ButtonGroup : ItemsControl
public Orientation Orientation
public LinearLayout Layout
```
@@ -0,0 +1,17 @@
# ButtonGroup 按钮组 使用导航
文档:[doc/source/handycontrol/extend_controls/buttonGroup/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/buttonGroup/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/buttonGroup/)
按任务阅读原文中的章节:RadioGroupItemBaseStyle、RadioGroup关联样式。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Button/ButtonGroup.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Button/ButtonGroup.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/ButtonGroup.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/ButtonGroup.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ButtonGroupDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ButtonGroupDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ButtonGroupDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ButtonGroupDemo.xaml.cs)
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-calendar-with-clock
description: "实现、配置或排查 HandyControl WPF 的 CalendarWithClock 带有时钟的日历(CalendarWithClock)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CalendarWithClock 带有时钟的日历
实现或排查 **CalendarWithClock 带有时钟的日历**。相关类型:`CalendarWithClock`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:CalendarWithClock />
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CalendarWithClock 带有时钟的日历"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-calendar-with-clock to implement the requested HandyControl WPF UI."
@@ -0,0 +1,20 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CalendarWithClock
源码:[src/Shared/HandyControl_Shared/Controls/Time/CalendarWithClock.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Time/CalendarWithClock.cs)
```text
public class CalendarWithClock : Control
public event EventHandler<FunctionEventArgs<DateTime?>> SelectedDateTimeChanged
public event EventHandler<FunctionEventArgs<DateTime>> DisplayDateTimeChanged;
public event Action Confirmed;
public CalendarWithClock()
public string DateTimeFormat
public bool ShowConfirmButton
public DateTime? SelectedDateTime
public DateTime DisplayDateTime
public override void OnApplyTemplate()
```
@@ -0,0 +1,17 @@
# CalendarWithClock 带有时钟的日历 使用导航
文档:[doc/source/handycontrol/extend_controls/calendarWithClock/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/calendarWithClock/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/calendarWithClock/)
按任务阅读原文中的章节:创建日期选取器、选择日期和时间、属性、方法。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Time/CalendarWithClock.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Time/CalendarWithClock.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/CalendarWithClock.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/CalendarWithClock.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CalendarWithClockDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CalendarWithClockDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CalendarWithClockDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CalendarWithClockDemo.xaml.cs)
+30
View File
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-card
description: "实现、配置或排查 HandyControl WPF 的 Card 卡片(Card)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Card 卡片
实现或排查 **Card 卡片**。相关类型:`Card`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Card 卡片"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-card to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Card
源码:[src/Shared/HandyControl_Shared/Controls/Other/Card.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Card.cs)
```text
public class Card : ContentControl
public object Header
public DataTemplate HeaderTemplate
public DataTemplateSelector HeaderTemplateSelector
public string HeaderStringFormat
public object Footer
public DataTemplate FooterTemplate
public DataTemplateSelector FooterTemplateSelector
public string FooterStringFormat
```
@@ -0,0 +1,17 @@
# Card 卡片 使用导航
文档:[doc/source/handycontrol/extend_controls/card/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/card/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/card/)
按任务阅读原文中的章节:基础属性、案例、单卡片使用、`xaml`中使用、效果、作为数据模板、数据类型、视图实体、`xaml`中的使用方式、效果。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/Card.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Card.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Card.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Card.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CardDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CardDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CardDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CardDemo.xaml.cs)
+30
View File
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-carousel
description: "实现、配置或排查 HandyControl WPF 的 Carousel 轮播(Carousel)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Carousel 轮播
实现或排查 **Carousel 轮播**。相关类型:`Carousel`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Carousel 轮播"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-carousel to implement the requested HandyControl WPF UI."
@@ -0,0 +1,36 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Carousel
源码:[src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs)
```text
public class Carousel : SimpleItemsControl, IDisposable
public override void OnApplyTemplate()
public double ExtendWidth
public bool IsCenter
public Style PageButtonStyle
public Carousel()
public void Dispose()
public bool AutoRun
public TimeSpan Interval
public int PageIndex
public void UpdatePageButtons(int index = -1)
```
## SimpleItemsControl
源码:[src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs)
```text
public class SimpleItemsControl : Control
public SimpleItemsControl()
public IEnumerable ItemsSource
public Style ItemContainerStyle
public DataTemplate ItemTemplate
public Collection<object> Items
public override void OnApplyTemplate()
public bool HasItems
```
@@ -0,0 +1,17 @@
# Carousel 轮播 使用导航
文档:[doc/source/handycontrol/extend_controls/carousel/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/carousel/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/carousel/)
按任务阅读原文中的章节:属性、案例、显示填充轮播项、使用绑定生成轮播项。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Carousel/Carousel.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Carousel.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Carousel.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CarouselDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-chat-bubble
description: "实现、配置或排查 HandyControl WPF 的 ChatBubble 对话气泡(ChatBubble)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF ChatBubble 对话气泡
实现或排查 **ChatBubble 对话气泡**。相关类型:`ChatBubble`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF ChatBubble 对话气泡"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-chat-bubble to implement the requested HandyControl WPF UI."
@@ -0,0 +1,28 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## ChatBubble
源码:[src/Shared/HandyControl_Shared/Controls/Other/ChatBubble.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/ChatBubble.cs)
```text
public class ChatBubble : SelectableItem
public ChatRoleType Role
public ChatMessageType Type
public bool IsRead
public Action<object> ReadAction
```
## SelectableItem
源码:[src/Shared/HandyControl_Shared/Controls/Base/SelectableItem.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Base/SelectableItem.cs)
```text
public class SelectableItem : ContentControl, ISelectable
public bool IsSelected
public bool SelfManage
public bool CanDeselect
public event RoutedEventHandler Selected
public event RoutedEventHandler Deselected
```
@@ -0,0 +1,17 @@
# ChatBubble 对话气泡 使用导航
文档:[doc/source/handycontrol/extend_controls/chatBubble/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/chatBubble/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/chatBubble/)
按任务阅读原文中的章节:属性。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/ChatBubble.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/ChatBubble.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/ChatBubble.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/ChatBubble.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ChatBubbleDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ChatBubbleDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ChatBubbleDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ChatBubbleDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-check-combo-box
description: "实现、配置或排查 HandyControl WPF 的 CheckComboBox 复选组合框(CheckComboBox)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CheckComboBox 复选组合框
实现或排查 **CheckComboBox 复选组合框**。相关类型:`CheckComboBox`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CheckComboBox 复选组合框"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-check-combo-box to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CheckComboBox
源码:[src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs)
```text
public class CheckComboBox : ListBox
public double MaxDropDownHeight
public bool IsDropDownOpen
public Style TagStyle
public double TagSpacing
public bool ShowSelectAllButton
public bool IsReadOnly
public CheckComboBox()
public override void OnApplyTemplate()
```
@@ -0,0 +1,17 @@
# CheckComboBox 复选组合框 使用导航
文档:[doc/source/handycontrol/extend_controls/checkComboBox/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/checkComboBox/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/checkComboBox/)
按任务阅读原文中的章节:属性、附加属性、方法、样式、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/CheckComboBox.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/CheckComboBox.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CheckComboBoxDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CheckComboBoxDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CheckComboBoxDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CheckComboBoxDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-circle-panel
description: "实现、配置或排查 HandyControl WPF 的 CirclePanel 圆形布局(CirclePanel)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CirclePanel 圆形布局
实现或排查 **CirclePanel 圆形布局**。相关类型:`CirclePanel`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CirclePanel 圆形布局"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-circle-panel to implement the requested HandyControl WPF UI."
@@ -0,0 +1,14 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CirclePanel
源码:[src/Shared/HandyControl_Shared/Controls/Panel/CirclePanel.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Panel/CirclePanel.cs)
```text
public class CirclePanel : Panel
public double Diameter
public bool KeepVertical
public double OffsetAngle
```
@@ -0,0 +1,16 @@
# CirclePanel 圆形布局 使用导航
文档:[doc/source/handycontrol/extend_controls/circlePanel/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/circlePanel/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/circlePanel/)
按任务阅读原文中的章节:属性、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Panel/CirclePanel.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Panel/CirclePanel.cs)
## 样式及官方示例
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CirclePanelDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CirclePanelDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CirclePanelDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CirclePanelDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-circle-progress-bar
description: "实现、配置或排查 HandyControl WPF 的 CircleProgressBar 圆形进度条(CircleProgressBar)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CircleProgressBar 圆形进度条
实现或排查 **CircleProgressBar 圆形进度条**。相关类型:`CircleProgressBar`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CircleProgressBar 圆形进度条"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-circle-progress-bar to implement the requested HandyControl WPF UI."
@@ -0,0 +1,16 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CircleProgressBar
源码:[src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs)
```text
public class CircleProgressBar : RangeBase
public string Text
public bool ShowText
public double ArcThickness
public bool IsIndeterminate
public override void OnApplyTemplate()
```
@@ -0,0 +1,15 @@
# CircleProgressBar 圆形进度条 使用导航
文档:[doc/source/handycontrol/extend_controls/circleProgressBar/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/circleProgressBar/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/circleProgressBar/)
按任务阅读原文中的章节:属性、样式、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs)
## 样式及官方示例
+38
View File
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-clock
description: "实现、配置或排查 HandyControl WPF 的 Clock 时钟(Clock)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Clock 时钟
实现或排查 **Clock 时钟**。相关类型:`Clock`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:Clock />
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Clock 时钟"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-clock to implement the requested HandyControl WPF UI."
@@ -0,0 +1,29 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Clock
源码:[src/Shared/HandyControl_Shared/Controls/Time/Clock/Clock.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Time/Clock/Clock.cs)
```text
public class Clock : ClockBase
public Style ClockRadioButtonStyle
public override void OnApplyTemplate()
```
## ClockBase
源码:[src/Shared/HandyControl_Shared/Controls/Time/Clock/ClockBase.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Time/Clock/ClockBase.cs)
```text
public abstract class ClockBase : Control
public event Action Confirmed;
public event EventHandler<FunctionEventArgs<DateTime>> DisplayTimeChanged;
public event EventHandler<FunctionEventArgs<DateTime?>> SelectedTimeChanged
public string TimeFormat
public DateTime? SelectedTime
public DateTime DisplayTime
public virtual void OnClockClosed()
public virtual void OnClockOpened()
```
@@ -0,0 +1,17 @@
# Clock 时钟 使用导航
文档:[doc/source/handycontrol/extend_controls/clock/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/clock/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/clock/)
按任务阅读原文中的章节:创建Clock、选择时间、属性、事件。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Time/Clock/Clock.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Time/Clock/Clock.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Clock.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Clock.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ClockDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ClockDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ClockDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ClockDemo.xaml.cs)
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-color-picker
description: "实现、配置或排查 HandyControl WPF 的 ColorPicker 颜色拾取器(ColorPicker)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF ColorPicker 颜色拾取器
实现或排查 **ColorPicker 颜色拾取器**。相关类型:`ColorPicker`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:ColorPicker Name="ColorPicker" Margin="32"/>
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF ColorPicker 颜色拾取器"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-color-picker to implement the requested HandyControl WPF UI."
@@ -0,0 +1,21 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## ColorPicker
源码:[src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs)
```text
public class ColorPicker : Control, ISingleOpen
public event EventHandler<FunctionEventArgs<Color>> SelectedColorChanged
public event EventHandler<FunctionEventArgs<Color>> Confirmed
public event EventHandler Canceled
public SolidColorBrush SelectedBrush
public SolidColorBrush SelectedBrushWithoutOpacity
public SolidColorBrush BackColor
public ColorPicker()
public override void OnApplyTemplate()
public void Dispose()
public bool CanDispose
```
@@ -0,0 +1,17 @@
# ColorPicker 颜色拾取器 使用导航
文档:[doc/source/handycontrol/extend_controls/colorPicker/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/colorPicker/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/colorPicker/)
按任务阅读原文中的章节:属性、事件、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/ColorPicker.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ColorPickerDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ColorPickerDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ColorPickerDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ColorPickerDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-combo-box
description: "实现、配置或排查 HandyControl WPF 的 ComboBox 组合框(ComboBox)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF ComboBox 组合框
实现或排查 **ComboBox 组合框**。相关类型:`ComboBox`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF ComboBox 组合框"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-combo-box to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## ComboBox
源码:[src/Shared/HandyControl_Shared/Controls/Input/ComboBox.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/ComboBox.cs)
```text
public class ComboBox : System.Windows.Controls.ComboBox
public ComboBox()
public override void OnApplyTemplate()
public Func<ItemCollection, object, IEnumerable<object>> SearchFunc
public bool AutoComplete
public Brush SelectionBrush
public Brush SelectionTextBrush
public double SelectionOpacity
public Brush CaretBrush
```
@@ -0,0 +1,17 @@
# ComboBox 组合框 使用导航
文档:[doc/source/handycontrol/extend_controls/comboBox/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/comboBox/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/comboBox/)
按任务阅读原文中的章节:属性、附加属性、方法、样式、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Input/ComboBox.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/ComboBox.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/ComboBox.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/ComboBox.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ComboBoxDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ComboBoxDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/ComboBoxDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ComboBoxDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-compare-slider
description: "实现、配置或排查 HandyControl WPF 的 CompareSlider 对比滑块(CompareSlider)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CompareSlider 对比滑块
实现或排查 **CompareSlider 对比滑块**。相关类型:`CompareSlider`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CompareSlider 对比滑块"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-compare-slider to implement the requested HandyControl WPF UI."
@@ -0,0 +1,13 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CompareSlider
源码:[src/Shared/HandyControl_Shared/Controls/Slider/CompareSlider/CompareSlider.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Slider/CompareSlider/CompareSlider.cs)
```text
public class CompareSlider : Slider
public object TargetContent
public object SourceContent
```
@@ -0,0 +1,16 @@
# CompareSlider 对比滑块 使用导航
文档:[doc/source/handycontrol/extend_controls/compareSlider/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/compareSlider/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/compareSlider/)
按任务阅读原文中的章节:属性、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Slider/CompareSlider/CompareSlider.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Slider/CompareSlider/CompareSlider.cs)
## 样式及官方示例
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CompareSliderDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CompareSliderDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CompareSliderDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CompareSliderDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-context-menu-button
description: "实现、配置或排查 HandyControl WPF 的 ContextMenuButton 上下文菜单按钮(ContextMenuButton)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF ContextMenuButton 上下文菜单按钮
实现或排查 **ContextMenuButton 上下文菜单按钮**。相关类型:`ContextMenuButton`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF ContextMenuButton 上下文菜单按钮"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-context-menu-button to implement the requested HandyControl WPF UI."
@@ -0,0 +1,12 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## ContextMenuButton
源码:[src/Shared/HandyControl_Shared/Controls/Button/ContextMenuButton.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Button/ContextMenuButton.cs)
```text
public class ContextMenuButton : Button
public ContextMenu Menu
```
@@ -0,0 +1,15 @@
# ContextMenuButton 上下文菜单按钮 使用导航
文档:[doc/source/handycontrol/extend_controls/contextMenuButton/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/contextMenuButton/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/contextMenuButton/)
按任务阅读原文中的章节:。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Button/ContextMenuButton.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Button/ContextMenuButton.cs)
## 样式及官方示例
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-cover-flow
description: "实现、配置或排查 HandyControl WPF 的 CoverFlow 封面流(CoverFlow)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CoverFlow 封面流
实现或排查 **CoverFlow 封面流**。相关类型:`CoverFlow`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:CoverFlow x:Name="CoverFlowMain" Margin="32" Width="500" Height="300"/>
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CoverFlow 封面流"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-cover-flow to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CoverFlow
源码:[src/Shared/HandyControl_Shared/Controls/Cover/CoverFlow/CoverFlow.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Cover/CoverFlow/CoverFlow.cs)
```text
public class CoverFlow : Control
public int PageIndex
public bool Loop
public override void OnApplyTemplate()
public void AddRange(IEnumerable<object> contentList)
public void Add(string uriString)
public void Add(Uri uri)
public void Next()
public void Prev()
```
@@ -0,0 +1,17 @@
# CoverFlow 封面流 使用导航
文档:[doc/source/handycontrol/extend_controls/coverFlow/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/coverFlow/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/coverFlow/)
按任务阅读原文中的章节:属性、方法、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Cover/CoverFlow/CoverFlow.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Cover/CoverFlow/CoverFlow.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/CoverFlow.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/CoverFlow.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverFlowDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverFlowDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverFlowDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverFlowDemo.xaml.cs)
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-cover-view
description: "实现、配置或排查 HandyControl WPF 的 CoverView 封面视图(CoverView)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF CoverView 封面视图
实现或排查 **CoverView 封面视图**。相关类型:`CoverView`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF CoverView 封面视图"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-cover-view to implement the requested HandyControl WPF UI."
@@ -0,0 +1,44 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## CoverView
源码:[src/Shared/HandyControl_Shared/Controls/Cover/CoverView/CoverView.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Cover/CoverView/CoverView.cs)
```text
public class CoverView : RegularItemsControl
public CoverView()
public override void OnApplyTemplate()
public Style CoverViewContentStyle
public int Groups
public double ItemContentHeight
public bool ItemContentHeightFixed
public DataTemplate ItemHeaderTemplate
```
## RegularItemsControl
源码:[src/Shared/HandyControl_Shared/Controls/Base/RegularItemsControl.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Base/RegularItemsControl.cs)
```text
public class RegularItemsControl : SimpleItemsControl
public double ItemWidth
public double ItemHeight
public Thickness ItemMargin
```
## SimpleItemsControl
源码:[src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs)
```text
public class SimpleItemsControl : Control
public SimpleItemsControl()
public IEnumerable ItemsSource
public Style ItemContainerStyle
public DataTemplate ItemTemplate
public Collection<object> Items
public override void OnApplyTemplate()
public bool HasItems
```
@@ -0,0 +1,17 @@
# CoverView 封面视图 使用导航
文档:[doc/source/handycontrol/extend_controls/coverView/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/coverView/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/coverView/)
按任务阅读原文中的章节:属性、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Cover/CoverView/CoverView.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Cover/CoverView/CoverView.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/CoverView.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/CoverView.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverViewDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverViewDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverViewDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/CoverViewDemo.xaml.cs)
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-dashed-border
description: "实现、配置或排查 HandyControl WPF 的 DashedBorder 虚线边框(DashedBorder)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF DashedBorder 虚线边框
实现或排查 **DashedBorder 虚线边框**。相关类型:`DashedBorder`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:DashedBorder Width="100" Height="100" BorderDashThickness="2" BorderBrush="Black" BorderDashArray="3, 1" CornerRadius="0,50,0,0"/>
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF DashedBorder 虚线边框"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-dashed-border to implement the requested HandyControl WPF UI."
@@ -0,0 +1,20 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## DashedBorder
源码:[src/Shared/HandyControl_Shared/Controls/Other/DashedBorder.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/DashedBorder.cs)
```text
public class DashedBorder : Decorator
public Thickness BorderThickness
public double BorderDashThickness
public Thickness Padding
public CornerRadius CornerRadius
public Brush BorderBrush
public Brush Background
public DoubleCollection BorderDashArray
public PenLineCap BorderDashCap
public double BorderDashOffset
```
@@ -0,0 +1,15 @@
# DashedBorder 虚线边框 使用导航
文档:[doc/source/handycontrol/extend_controls/dashedBorder/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/dashedBorder/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/dashedBorder/)
按任务阅读原文中的章节:属性、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/DashedBorder.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/DashedBorder.cs)
## 样式及官方示例
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-date-picker
description: "实现、配置或排查 HandyControl WPF 的 DatePicker 日期选择器(DatePicker)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF DatePicker 日期选择器
实现或排查 **DatePicker 日期选择器**。相关类型:`DatePicker`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:DatePicker />
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF DatePicker 日期选择器"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-date-picker to implement the requested HandyControl WPF UI."
@@ -0,0 +1,17 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## DatePicker
源码:[src/Shared/HandyControl_Shared/Controls/Input/DatePicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/DatePicker.cs)
```text
public class DatePicker : System.Windows.Controls.DatePicker
public DatePicker()
public override void OnApplyTemplate()
public Brush SelectionBrush
public Brush SelectionTextBrush
public double SelectionOpacity
public Brush CaretBrush
```
@@ -0,0 +1,17 @@
# DatePicker 日期选择器 使用导航
文档:[doc/source/handycontrol/extend_controls/datePicker/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/datePicker/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/datePicker/)
按任务阅读原文中的章节:创建DatePicker、选择日期、设置标题和占位符文本、属性、方法。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Input/DatePicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/DatePicker.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/DatePicker.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/DatePicker.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DatePickerDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DatePickerDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DatePickerDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DatePickerDemo.xaml.cs)
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-date-time-picker
description: "实现、配置或排查 HandyControl WPF 的 DateTimePicker 日期时间选择器(DateTimePicker)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF DateTimePicker 日期时间选择器
实现或排查 **DateTimePicker 日期时间选择器**。相关类型:`DateTimePicker`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:DateTimePicker />
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF DateTimePicker 日期时间选择器"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-date-time-picker to implement the requested HandyControl WPF UI."
@@ -0,0 +1,27 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## DateTimePicker
源码:[src/Shared/HandyControl_Shared/Controls/Input/DateTimePicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/DateTimePicker.cs)
```text
public class DateTimePicker : Control
public event EventHandler<FunctionEventArgs<DateTime?>> SelectedDateTimeChanged
public event RoutedEventHandler PickerClosed;
public event RoutedEventHandler PickerOpened;
public DateTimePicker()
public string DateTimeFormat
public Style CalendarStyle
public DateTime DisplayDateTime
public bool IsDropDownOpen
public DateTime? SelectedDateTime
public string Text
public Brush SelectionBrush
public Brush SelectionTextBrush
public double SelectionOpacity
public Brush CaretBrush
public override void OnApplyTemplate()
public override string ToString()
```
@@ -0,0 +1,17 @@
# DateTimePicker 日期时间选择器 使用导航
文档:[doc/source/handycontrol/extend_controls/dateTimePicker/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/dateTimePicker/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/dateTimePicker/)
按任务阅读原文中的章节:创建DateTimePicker、选择日期和时间、设置标题和占位符文本、属性、方法。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Input/DateTimePicker.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Input/DateTimePicker.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/DateTimePicker.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/DateTimePicker.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DateTimePickerDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DateTimePickerDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DateTimePickerDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DateTimePickerDemo.xaml.cs)
+44
View File
@@ -0,0 +1,44 @@
---
name: handycontrol-wpf-dialog
description: "实现、配置或排查 HandyControl WPF 的 Dialog 对话框(Dialog)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Dialog 对话框
实现或排查 **Dialog 对话框**。相关类型:`Dialog`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
Dialog.Show 返回覆盖层 Dialog,不等于 Window.ShowDialog。无 token 时依赖活动窗口的 AdornerDecorator;指定 token 时先配置 Dialog.Token 和 DialogContainer。关闭使用返回实例的 Close()。异步结果需要实现库要求的结果接口并引入扩展命名空间,不能直接假定存在任意 Task 返回值。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```csharp
// 在已显示且具备装饰层的 WPF 窗口的 UI 线程执行。
var dialog = HandyControl.Controls.Dialog.Show(new System.Windows.Controls.TextBlock
{
Text = "正在处理"
});
// 操作完成后关闭。
dialog.Close();
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Dialog 对话框"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-dialog to implement the requested HandyControl WPF UI."
@@ -0,0 +1,23 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Dialog
源码:[src/Shared/HandyControl_Shared/Controls/Dialog/Dialog.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Dialog/Dialog.cs)
```text
public class Dialog : ContentControl
public bool IsClosed
public static void SetMaskCanClose(DependencyObject element, bool value)
public static bool GetMaskCanClose(DependencyObject element)
public Brush MaskBrush
public static void SetToken(DependencyObject element, string value)
public static string GetToken(DependencyObject element)
public Dialog()
public static Dialog Show<T>(string token = "") where T : new()
public static Dialog Show(object content, string token = "")
public static void Close(string token)
public void Close()
public override void OnApplyTemplate()
```
@@ -0,0 +1,17 @@
# Dialog 对话框 使用导航
文档:[doc/source/handycontrol/extend_controls/dialog/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/dialog/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/dialog/)
按任务阅读原文中的章节:属性、附加属性、方法、案例、基本用法、异步等待结果返回、更简单的异步方式、弹框行为。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Dialog/Dialog.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Dialog/Dialog.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Dialog.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Dialog.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DialogDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DialogDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DialogDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DialogDemo.xaml.cs)
+30
View File
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-divider
description: "实现、配置或排查 HandyControl WPF 的 Divider 分割线(Divider)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Divider 分割线
实现或排查 **Divider 分割线**。相关类型:`Divider`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Divider 分割线"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-divider to implement the requested HandyControl WPF UI."
@@ -0,0 +1,19 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Divider
源码:[src/Shared/HandyControl_Shared/Controls/Other/Divider.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Divider.cs)
```text
public class Divider : Control
public object Content
public Orientation Orientation
public DataTemplate ContentTemplate
public string ContentStringFormat
public DataTemplateSelector ContentTemplateSelector
public Brush LineStroke
public double LineStrokeThickness
public DoubleCollection LineStrokeDashArray
```
@@ -0,0 +1,17 @@
# Divider 分割线 使用导航
文档:[doc/source/handycontrol/extend_controls/divider/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/divider/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/divider/)
按任务阅读原文中的章节:属性、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Other/Divider.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Other/Divider.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Divider.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Divider.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DividerDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DividerDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DividerDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DividerDemo.xaml.cs)
+30
View File
@@ -0,0 +1,30 @@
---
name: handycontrol-wpf-drawer
description: "实现、配置或排查 HandyControl WPF 的 Drawer 抽屉(Drawer)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF Drawer 抽屉
实现或排查 **Drawer 抽屉**。相关类型:`Drawer`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF Drawer 抽屉"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-drawer to implement the requested HandyControl WPF UI."
@@ -0,0 +1,21 @@
# 源码 API 导航
下面是当前工作区的声明摘录,不是完整 C# 文件,不包含全部继承成员、访问器和条件编译条件。属性是否可写、依赖属性默认值、枚举成员和目标框架限制,需打开对应源码核对。
## Drawer
源码:[src/Shared/HandyControl_Shared/Controls/Drawer/Drawer.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Drawer/Drawer.cs)
```text
public class Drawer : FrameworkElement
public Drawer()
public event RoutedEventHandler Opened
public event RoutedEventHandler Closed
public bool IsOpen
public bool MaskCanClose
public bool ShowMask
public Dock Dock
public DrawerShowMode ShowMode
public Brush MaskBrush
public object Content
```
@@ -0,0 +1,17 @@
# Drawer 抽屉 使用导航
文档:[doc/source/handycontrol/extend_controls/drawer/index.md](https://github.com/HandyOrg/HandyControl/blob/master/doc/source/handycontrol/extend_controls/drawer/index.md)
在线文档:[控件说明](https://handyorg.github.io/handycontrol/extend_controls/drawer/)
按任务阅读原文中的章节:属性、事件、案例。
## 当前源码
- [src/Shared/HandyControl_Shared/Controls/Drawer/Drawer.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Controls/Drawer/Drawer.cs)
## 样式及官方示例
- [src/Shared/HandyControl_Shared/Themes/Styles/Drawer.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/Drawer.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DrawerDemo.xaml](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DrawerDemo.xaml)
- [src/Shared/HandyControlDemo_Shared/UserControl/Controls/DrawerDemo.xaml.cs](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControlDemo_Shared/UserControl/Controls/DrawerDemo.xaml.cs)
@@ -0,0 +1,38 @@
---
name: handycontrol-wpf-flip-clock
description: "实现、配置或排查 HandyControl WPF 的 FlipClock 翻页时钟(FlipClock)。适用于该扩展控件的 XAML、绑定、事件和模板;不用于 Avalonia 或其他厂商控件。"
---
# HandyControl WPF FlipClock 翻页时钟
实现或排查 **FlipClock 翻页时钟**。相关类型:`FlipClock`。
## 接入
程序集/NuGet 为 `HandyControl`,XAML 命名空间为
`xmlns:hc="https://handyorg.github.io/handycontrol"`,C# 控件命名空间为 `HandyControl.Controls`。
在 `App.xaml` 合并 `pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml`,
然后合并 `pack://application:,,,/HandyControl;component/Themes/Theme.xaml`。
已有主题配置时先检查,避免重复合并。版本和目标框架以使用方项目为准。
## 实现
先读 [API 声明与继承关系](references/api.md),再按需求查看
[文档、样式与示例导航](references/usage.md)。源码路径相对于 HandyControl 仓库根目录;
在本仓库优先读本地文件,安装到其他项目后使用内附声明与链接,遇到版本差异检查实际引用版本的源码。
不要将 Demo 的 langs、ex:Lang、ViewModelLocator 或示例资源直接复制进使用方项目。
结合基类确认内容模型、绑定属性和事件参数;集合控件区分 ItemsSource、选中项与 ItemTemplate;修改样式前核对资源键和模板部件。
用目标项目现有的 MVVM 方式绑定;需要回写时明确 TwoWay 和更新时机,
不要假定所有依赖属性默认双向绑定。原生 WPF 与 HandyControl 同名类型使用命名空间区分。
交付时运行目标框架的构建,并在窗口加载后检查模板、绑定错误、空值和相关输入边界;
无法运行 WPF 时明确说明尚未验证 UI 行为。
## 最小片段
依赖上面的应用资源配置;Binding 路径由使用方 ViewModel 提供。
```xml
<hc:FlipClock Margin="32"/>
```
@@ -0,0 +1,4 @@
interface:
display_name: "HandyControl WPF FlipClock 翻页时钟"
short_description: "Implement HandyControl WPF controls from verified source guidance"
default_prompt: "Use $handycontrol-wpf-flip-clock to implement the requested HandyControl WPF UI."
Loaded 100 of 335 files, more files were not shown because too many files have changed in this diff. Show more