Files
AtomUI/docs
chinboy 6a435bc2be fix: InfoPickerInput OnApplyTemplate lambda 事件叠加 — 改为命名方法并在开头移除旧订阅
- 问题:OnApplyTemplate 中使用匿名 lambda 订阅 DecoratedBox.TemplateApplied、DecoratedBox.PropertyChanged、PickerClearUpButton.ClearRequest 事件
- 每次模板重新应用(主题切换等)都会叠加新的订阅,导致回调数量线性增长
- 影响:所有派生自 InfoPickerInput 的控件(DatePicker、TimePicker 等)

修复方案:
1. 添加字段存储事件处理器引用:_decoratedBoxTemplateAppliedHandler、_decoratedBoxPropertyChangedHandler、_clearRequestHandler
2. 在 OnApplyTemplate 开头先移除旧订阅
3. 将匿名 lambda 改为存储在字段中的委托,确保可以取消订阅

这样每次模板重新应用时,旧订阅会被正确移除,新订阅才会添加,避免叠加。
2026-04-16 13:16:05 +08:00
..