Team.Gripper.Controls.Wpf 0.1.0
Team.Gripper.Controls.Wpf
WPF 电爪控件库:参数设置、动作控制与状态监控。只依赖 Team.Gripper.Abstractions,
品牌无关——绑上去的是 IGripper 契约,大寰(今天)或未来任何品牌(明天)都直接可用。
内置多语言(简体中文 / English / 日本語 / 繁體中文),运行时可切换。
控件一览
| 控件 | 作用 |
|---|---|
GripperTuningPanel |
组合面板(推荐入口):控制 + 状态 + 头部(初始化/立即刷新)+ 内置轮询 + GripDropped 掉落事件 |
GripperMotionPad |
位置/力/速度输入(量程自动取自 Limits,输入层先兜一道越界)+ 下发参数/运动/张开/闭合 |
GripperStatusBar |
只读状态条:连接灯、初始化、夹持状态语义色、当前位置行程条、电机电流 |
NumericSliderUpDown |
原子数值输入:滑条 + 数值框 + [±] 步进 |
快速开始
xmlns:controls="clr-namespace:Team.Gripper.Controls.Wpf.Controls;assembly=Team.Gripper.Controls.Wpf"
<controls:GripperTuningPanel x:Name="GripperPanel"
GripDropped="OnGripDropped"
StatusPollIntervalMs="500" />
// 宿主负责连接(串口/参数是品牌特定知识,留在宿主):
_gripper = new DhPgeGripper(new DhGripperOptions { PortName = "COM3" });
await _gripper.ConnectAsync();
// 一个属性接入,面板自动识别能力并开始轮询:
GripperPanel.Gripper = _gripper;
轮询与手动模式
StatusPollIntervalMs默认 500ms,设 0 关闭轮询:此时宿主自己读状态后赋值Status/MotorCurrent,面板纯展示;- 轮询读到
GripperConnectionException会自动停表并在底部报错——重连后调StartPolling()或重新赋值Gripper即可恢复; - 每个轮询周期 =
ReadStatusAsync(3 次寄存器读)+ReadMotorCurrentAsync(1 次), 大寰 115200 波特率下绰绰有余。
本地化(与 Team.Feeder.Controls.Wpf 同构)
XAML 文案经 WPFLocalizeExtension 的 {lex:Loc} 绑定,code-behind 文案经
LocalizedText.Get(key) / GripperText.Get(枚举) 取词,资源为
Resources/Languages/Lang.resx(中性=简体中文)+ en / ja / zh-Hant 卫星程序集。
// 运行时切换语言(任一处调用即可,全局生效):
Team.Gripper.Controls.Wpf.Localization.LocalizationService.Instance
.ChangeCulture(new System.Globalization.CultureInfo("en"));
// 订阅切换事件刷新宿主自己的文本:
LocalizationService.Instance.CultureChanged += (_, _) => RefreshMyTexts();
ChangeCulture 会同步四处状态: XAML 绑定、Lang 静态资源访问器、
线程默认文化,并按语言设置首选字体(简中→微软雅黑、繁中→微软正黑、日文→Yu Gothic UI)。
三个控件均已订阅 CultureChanged,切换后自动重绘。
设计边界(刻意为之)
- 只依赖 Abstractions:不把 System.IO.Ports 拖进纯 UI 宿主;串口枚举、
DhGripperOptions构造、FullInitializeAsync(大寰 0x00A5 专有)留在宿主。需要"开箱即用全流程"时, 再加一个引用 Dh 的薄包; - 操作失败不抛异常到宿主 UI 线程:卡片内文字提示 +
LastError属性暴露; - 状态文本由本包的
GripperText按当前文化返回(枚举是品牌中立的); - 状态语义色:绿=夹住/已连接,黄=运动中/初始化中,红=掉落/错误,灰=未连接/未夹到。
No packages depend on Team.Gripper.Controls.Wpf.
.NET 8.0
- Team.Gripper.Abstractions (>= 0.1.0)
- WPFLocalizeExtension (>= 3.10.0)
| Version | Downloads | Last updated |
|---|---|---|
| 0.1.0 | 9 | 09/07/2026 |