Commit Graph

  • d73bcce17c docs: 删除已修复条目(6.1 Watermark/6.2 Timer/P8 Space),更新 4.1/4.5/4.6 问题描述 chinboy 2026-04-18 00:15:55 +08:00
  • 68510be5e3 fix: refactor FloatButton themes and improve OnDetachedFromVisualTree cleanup chinboy 2026-04-17 23:58:50 +08:00
  • c2d4c10124 fix: 修复 2.1 - NotificationCard/NavMenuItem 缺少 OnDetachedFromVisualTree,更新文档 chinboy 2026-04-17 22:02:46 +08:00
  • 01f96947ac fix: 修复资源泄漏 - CTS/Timer/Bitmap/事件订阅清理 chinboy 2026-04-17 21:47:16 +08:00
  • 12f2e9252d fix: AbstractBackTopFloatButton add OnDetachedFromVisualTree cleanup chinboy 2026-04-17 19:10:58 +08:00
  • bd85cc0099 docs: clean up AtomUI_issues.md, remove all fixed items chinboy 2026-04-17 17:22:07 +08:00
  • 516cd74f7e fix: add OnDetachedFromVisualTree cleanup to multiple controls chinboy 2026-04-17 17:08:55 +08:00
  • 6d41a4e2b3 docs: mark issue 1.4 FloatButtonGroupHost lambda as already fixed chinboy 2026-04-17 15:50:14 +08:00
  • cf9a1b5a28 fix: replace lambda with named method in GroupDescription constructors to avoid closure allocation chinboy 2026-04-17 15:48:56 +08:00
  • 6d655bdad8 fix(1.2+): eliminate lambda closure in WindowMessageManager.Show() chinboy 2026-04-17 15:11:56 +08:00
  • 0af89b8de6 fix(1.2): eliminate lambda closures in WindowNotificationManager.Show() chinboy 2026-04-17 15:08:39 +08:00
  • f5ba2e4ebe fix(1.1): remove Closed += lambda closures in MessageBox/Dialog static APIs chinboy 2026-04-17 15:01:37 +08:00
  • ad6a346c30 fix(3.2): prevent memory leaks in DataGridCell by managing event subscriptions - dispose old subscriptions in OnApplyTemplate to avoid accumulation - release subscriptions in OnDetachedFromVisualTree chinboy 2026-04-17 13:55:01 +08:00
  • ac1d201d7e fix(3.3): fix event subscription leaks in ColorPicker controls - AbstractColorPicker: guard OnApplyTemplate with null check to prevent duplicate flyout subscriptions - AbstractColorPickerView: remove-before-add for ClearRequest and ColorSelected events - ColorSliderThumb: remove-before-add for SizeChanged event - ColorPickerInput: add OnDetachedFromVisualTree to unsubscribe all input events - GradientColorSlider: minor cleanup chinboy 2026-04-17 13:26:20 +08:00
  • 7f3ab08fd4 docs(3.3): mark ColorPicker complex state management as fixed - Update progress to 34/39 (87.2%) - Mark 3.3 ColorPicker OnApplyTemplate event subscription as fixed - ColorPickerInput, AbstractColorPickerView, ColorSliderThumb all use named handlers with remove-before-add pattern - Remove 3.3 from P2 pending list - Medium: 17/19 fixed chinboy 2026-04-17 13:24:51 +08:00
  • cea4bb8fa9 fix(2.1): implement IDisposable on AbstractNotifiableTransition and dispose at call sites - INotifyTransitionCompleted interface now extends IDisposable - AbstractNotifiableTransition<T>.Dispose() disposes Subject<bool> and nulls it - NotifyTransitionCompleted() guards against null _subject (post-dispose) - CompletedObservable throws ObjectDisposedException if accessed after Dispose - AbstractMotion.RunTransitions: dispose all Transitions after await completes (covers both normal completion and Task.Delay timeout path) - AbstractMotion.ConfigureTransitions: dispose existing Transitions before Clear to prevent Subject leaks when transitions are rebuilt - Update performance_memory_leak.md: 32/39 fixed (82.1%), High 8/8 all done chinboy 2026-04-17 13:04:41 +08:00
  • bd1b270c81 revert(3.4): Form Items.CollectionChanged lambda is a false positive — no fix needed Items is an internal ItemCollection owned by Form with identical lifetime. The subscription cannot leak across lifetimes: when Form is GC'd, Items and its event subscriptions are collected with it. Mark 3.4 as false positive in docs. chinboy 2026-04-17 12:56:24 +08:00
  • fae2788bc5 fix(3.4): extract Form Items.CollectionChanged lambda to named method HandleItemsCollectionChanged - Replace anonymous lambda with named method to allow precise -= unsubscription - Prevents subscription leak when Items is replaced by an external CollectionView - Update performance_memory_leak.md: 32/39 fixed (82.1%), Medium 16/19 chinboy 2026-04-17 12:54:33 +08:00
  • ca1c990e7b fix(1.2): replace anonymous lambda with WeakReference forwarder in DataGridCollectionView to eliminate CollectionChanged memory leak - Mirror the same WeakCollectionChangedForwarder pattern applied to ListCollectionView (29452afe) - Add IDisposable to DataGridCollectionView class declaration - Add _collectionChangedForwarder field (WeakCollectionChangedForwarder?) - Replace anonymous lambda subscription with forwarder in constructor - Add Dispose() for eager cleanup - Add WeakCollectionChangedForwarder nested class with self-unsubscribe on GC - All Critical (P0) issues now fully resolved - Update performance_memory_leak.md: 31/39 fixed (79.5%), Critical 7/7 chinboy 2026-04-17 12:48:57 +08:00
  • a896c7833e docs(1.1): annotate section title with fix status and commit hash chinboy 2026-04-17 12:46:14 +08:00
  • ea59ecac29 docs(1.1): fill in commit hash 29452afe and update critical/total fix counts chinboy 2026-04-17 12:43:05 +08:00
  • 652398a207 fix(1.1): replace anonymous lambda with WeakReference forwarder in ListCollectionView to eliminate CollectionChanged memory leak - Add WeakCollectionChangedForwarder nested class: source holds strong ref to forwarder, forwarder holds WeakReference<ListCollectionView> — prevents the source collection from rooting the view - Self-unsubscribes on next event after view is GC'd; no lingering delegate - Keep IDisposable.Dispose() for eager cleanup when ItemsSource changes in ListView - ListView: track _ownsCollectionView flag and call Dispose() on old view only when we created it (not user-provided IListCollectionView) - Remove OnDetachedFromVisualTree disposal to avoid breaking reattach scenarios (tab switching, panel rebuilds, etc.) — WeakReference handles lifetime safely - Update performance_memory_leak.md: mark 1.1 as fixed, progress 30/39 (76.9%) chinboy 2026-04-17 12:11:23 +08:00
  • 9ec5bc9fa7 fix(Statistic): remove dead code in GenerateRemainingTimeText and use smart default time format chinboy 2026-04-17 10:48:35 +08:00
  • 87e9a8b572 perf(Tag): replace static Dictionary with FrozenDictionary for PresetColorMap, StatusColorMap and PresetPalettes chinboy 2026-04-17 10:41:57 +08:00
  • 8c6498b6c3 refactor(Notification): split PollingInterval into CardExpiredPollingInterval and CleanupPollingInterval for independent tuning chinboy 2026-04-17 10:31:14 +08:00
  • 4d94e60cfc perf(Notification): reduce polling to 200ms, add PollingInterval property, and use HashSet for O(1) cleanup queue dedup chinboy 2026-04-17 10:13:16 +08:00
  • b18d82e56a docs(MemoryLeak): mark 5.18 as fixed, update progress to 14/39 (35.9%) chinboy 2026-04-17 10:06:04 +08:00
  • 291a91ada4 perf(Watermark): cache rotation matrices to eliminate per-tile per-frame trig allocations chinboy 2026-04-17 10:05:27 +08:00
  • 4efb3ed55f docs(MemoryLeak): add performance and memory leak analysis guidelines for AtomUI chinboy 2026-04-17 10:02:05 +08:00
  • 17575bcfa6 docs(MemoryLeak): mark 5.17 as fixed, update progress to 13/39 (33.3%) chinboy 2026-04-17 10:00:04 +08:00
  • ae1a6cfda1 fix(ToolTip): call StopTimer before creating new timer and replace lambda with named handler in StartShowTimer chinboy 2026-04-17 09:59:35 +08:00
  • c48de5f137 docs(MemoryLeak): mark 5.15 and 5.16 as fixed, update progress to 12/39 (30.8%) chinboy 2026-04-17 09:58:24 +08:00
  • 24d6e170ac fix(Space): use remove-before-add for Children.PropertyChanged to prevent duplicate subscription chinboy 2026-04-17 09:54:56 +08:00
  • 3204c7a87f fix(FloatButton): replace lambda subscriptions with named handlers in FloatButtonGroupHost to prevent memory leak chinboy 2026-04-17 09:51:14 +08:00
  • a5ecee5927 fix(5.13): properly clean up old DispatcherTimer in Mentions and AutoComplete - Always stop, unsubscribe, and null out old _delayTimer before creating new instance - Prevents event handler accumulation when MinimumPopulateDelay changes - Unify handling between Mentions and AbstractAutoComplete - Fixes issue where timer event handlers would accumulate on rapid property changes chinboy 2026-04-17 07:58:02 +08:00
  • 39064b8bcb fix(5.12): add Dispose call for CancellationTokenSource in AbstractSkeleton - StartActiveAnimation: dispose old CTS before creating new instance - StopActiveAnimation: dispose CTS and set to null - BuildActiveAnimation: dispose CTS before rebuilding animation - Prevents WaitHandle and unmanaged resources from leaking during repeated animation start/stop cycles chinboy 2026-04-17 07:21:05 +08:00
  • 2117910517 docs(5.11): update fix status and refactor ColorPicker async methods for clarity - Mark issue 5.11 (async void methods) as fully fixed (4/4) - Remove backward compatibility wrapper methods, call async versions directly - Add Avalonia.VisualTree import to ColorSlider and SelectableTextBlock - Improve code indentation and readability in ColorSpectrum.CreateBitmapsAndColorMapAsync - Clean up ColorSpectrum property default values in property definitions - Update documentation with unified fix pattern for all 4 async void methods - Remove obsolete void wrapper methods (Copy, UpdateBackground, CopyToClipboard) chinboy 2026-04-16 22:58:42 +08:00
  • 32b0d9c5f4 fix(5.11): add exception handling to async void methods in ColorPicker and DataGrid - ColorSpectrum: convert CreateBitmapsAndColorMap to async Task with try-catch - ColorSlider: convert UpdateBackground to async Task with IsAttachedToVisualTree check - DataGrid: convert CopyToClipboard to async Task with exception handling - SelectableTextBlock: convert Copy to async Task with IsAttachedToVisualTree check - Keep original void methods for backward compatibility (fire-and-forget pattern) - Add graceful exception handling to prevent app crashes - Verify control is attached before updating UI after async operations chinboy 2026-04-16 22:57:30 +08:00
  • a8847c7107 docs(5.10): update fix status for TreeView/CascaderView async load CancellationTokenSource chinboy 2026-04-16 21:44:45 +08:00
  • 7fa447073f fix(5.10): complete async load CancellationTokenSource lifecycle management chinboy 2026-04-16 21:33:56 +08:00
  • 4086b3536e feat(5.10): make async load timeout configurable via AsyncLoadTimeout property chinboy 2026-04-16 18:38:54 +08:00
  • 4e2dd770d7 fix(5.9): move glyph PropertyChanged subscription to lifecycle hooks in Watermark chinboy 2026-04-16 18:01:03 +08:00
  • 230b8a44ba fix(5.6): replace lambda with named method in ToolTipService timer handler chinboy 2026-04-16 17:53:18 +08:00
  • 8c1f2cd073 fix(5.4): add Dispose call for CancellationTokenSource in MarqueeLabel chinboy 2026-04-16 17:38:56 +08:00
  • 272d480bff fix(3.7): replace delegate fields with private methods in ColorPickerInput chinboy 2026-04-16 17:32:05 +08:00
  • a2e352283d fix(5.2): replace lambda with named methods in FlyoutStateHelper timer handlers chinboy 2026-04-16 16:05:42 +08:00
  • f9f3363dab fix(5.1): move Segmented SelectionChanged subscription from constructor to lifecycle hooks Move SelectionChanged event subscription from constructor to lifecycle hooks: - Remove subscription from constructor - Add subscription in OnAttachedToVisualTree() - Add unsubscription in OnDetachedFromVisualTree() This ensures proper cleanup when the control is detached from the visual tree, following best practices for event management and preventing potential reference cycles. File: src/AtomUI.Controls/Segmented/AbstractSegmented.cs - Removed: SelectionChanged subscription from constructor - Added: OnAttachedToVisualTree() override with subscription - Added: OnDetachedFromVisualTree() override with unsubscription Fixes issue 5.1 from performance_memory_leak.md analysis. chinboy 2026-04-16 16:01:29 +08:00
  • 0995ca48a7 docs: mark section 3.7 ColorPickerInput as fixed Update documentation to mark section 3.7 (ColorPickerInput OnApplyTemplate Lambda stacking) as fixed. Investigation shows the code already implements the correct event management pattern: Implementation details: - Event handlers stored in class-level fields (lines 80-87) - All old subscriptions removed at OnApplyTemplate start (lines 127-160) - New named lambda handlers created and subscribed (lines 179-289) - Prevents event handler accumulation on template reapplication Update statistics: - Fixed issues: 2 → 3 - Progress: 5.1% → 7.7% (3/39) - Critical problems: 0 → 1 fixed Update fix log to include 3.7 alongside 4.5 and 4.8 fixes. chinboy 2026-04-16 15:58:01 +08:00
  • e9d3e85194 docs: update performance_memory_leak.md with fix status for 4.5 and 4.8 Update documentation status: - Mark section 4.5 (OptionButtonGroup Lambda events) as FIXED - Commit: 01ec42d6 - Details: Convert lambda to named method, subscribe in constructor, unsubscribe in OnDetachedFromVisualTree - Mark section 4.8 (Async methods CancellationToken support) as FIXED - Commits: 76aadb94, 4c9054dd - Details: Add CancellationToken support to 7 files (Upload, MessageBox, Popup, MenuItem, FileUploadScheduler, IFileUploadScheduler, IconPackageGenerator) - Code changes: +35, -21 Add: - Modification progress summary at the top (5.1% complete - 2/39 issues fixed) - Update priority table with fix status - Update issue statistics with fix counts - Add detailed fix log at the end with commit hashes and implementation details Documentation updates: +140, -47 chinboy 2026-04-16 15:55:56 +08:00
  • 92fb2a3581 fix(4.8): add CancellationToken support to async methods This commit adds proper cancellation support to multiple async methods: - MessageBox.OpenAsync() - now accepts CancellationToken parameter - Popup.MotionAwareOpenAsync/CloseAsync() - support WaitAsync with CancellationToken - MenuItem.CloseItemAsync() - propagates CancellationToken recursively - FileUploadScheduler - CancelAllAsync/SetMaxConcurrentTasksAsync/SetTransportAsync - IconPackageGenerator.GenerateAsync() - add cancellation points Also updated IFileUploadScheduler interface to match implementation signatures. Benefits: - Allows graceful cancellation of long-running operations - Prevents hanging operations when controls are destroyed - Enables proper cleanup when user navigates away - Supports timeout patterns via CancellationTokenSource Fixes section 4.8 of performance_memory_leak.md analysis. chinboy 2026-04-16 15:53:14 +08:00
  • 8ac95d4cba fix(Upload): add CancellationToken support and lifecycle management - Add CancellationToken parameter to ResetAsync() for cancellable operations - Add OnAttachedToVisualTree to create CancellationTokenSource when control is attached - Update OnDetachedFromVisualTree to cancel and dispose CancellationTokenSource when control is detached - Add cancellation checks in CancelAllUploadTaskAsync() to respect cancellation requests Fixes issue #4.8: async methods now support proper cancellation, allowing clean shutdown of pending upload operations when the control is destroyed or navigation occurs. chinboy 2026-04-16 15:41:39 +08:00
  • 8a5b7aac73 feat(Dialog,Upload): add CancellationToken support to async methods chinboy 2026-04-16 15:27:31 +08:00
  • f4df590d18 fix(WindowNotificationManager): unsubscribe timer Tick events in Dispose and remove over-optimized card handler tracking chinboy 2026-04-16 15:15:17 +08:00
  • 90a0c6806d fix(MemoryLeak): add cache size limit to IconProviderCache and fix OptionButtonGroup event subscription lifecycle chinboy 2026-04-16 14:53:34 +08:00
  • 15f4ed015a fix(OptionButtonGroup): subscribe to ChildIndexChanged in constructor instead of OnAttachedToVisualTree Fixes the issue where the event handler was being subscribed multiple times when the control was re-attached to the visual tree. By moving the subscription to the constructor (where it happens only once) and the unsubscription to OnDetachedFromVisualTree, we ensure the handler is properly managed throughout the control's lifetime. chinboy 2026-04-16 14:29:17 +08:00
  • 3a57fadf83 fix(Tour): clean up event subscriptions in OnDetachedFromVisualTree chinboy 2026-04-16 14:21:43 +08:00
  • 0195b16ba7 fix: Drawer Close() 方法移除 _container = null chinboy 2026-04-16 14:11:03 +08:00
  • a8293a1e8f fix: Drawer 在 OnDetachedFromVisualTree 中设置 disposables 为 null chinboy 2026-04-16 13:51:33 +08:00
  • 2e2e69cb88 fix: Carousel 自动播放定时器泄漏 chinboy 2026-04-16 13:38:03 +08:00
  • 3f5e5fd656 fix: ColorPickerInput OnApplyTemplate 8个 lambda 事件叠加 chinboy 2026-04-16 13:33:34 +08:00
  • 187547f9db fix: InfoPickerInput OnApplyTemplate lambda 事件叠加 chinboy 2026-04-16 13:25:46 +08:00
  • 6a435bc2be fix: InfoPickerInput OnApplyTemplate lambda 事件叠加 — 改为命名方法并在开头移除旧订阅 chinboy 2026-04-16 13:16:05 +08:00
  • f92ab2615d fix: TimerStatistic 定时器泄漏 — 旧定时器未停止/释放 chinboy 2026-04-16 13:07:54 +08:00
  • c83d294589 fix: SwitchKnob OnDetachedFromVisualTree 调用错误的基类方法 chinboy 2026-04-16 13:04:35 +08:00
  • 66aac27789 fix: TransformTrackingHelper DetachedFromVisualTree 事件订阅运算符错误 (-= → +=) chinboy 2026-04-16 13:00:44 +08:00
  • efa11d630c docs: update documentation and package examples for version 5.2.0-build.4 chinboy 2026-04-16 10:30:43 +08:00
  • cd226e46ef docs: Adjust and update documentation according to API v5.2.0-build.4 chinboy 2026-04-16 08:54:23 +08:00
  • 0f63231ea2 refactor: Complete API audit refinements - 14/18 issues resolved Comprehensive API naming and design consistency improvements: HIGH SEVERITY (4/4 - 100%): Abstract keyword, spelling fixes, bool naming MEDIUM SEVERITY (8/8 - 100%): Property naming, event patterns, type alignment LOW SEVERITY (2/6 - 33%): Enum values, redundant prefixes Updates: - Fixed 14 API design issues across multiple controls - Updated documentation and examples - All changes compile successfully Progress: 14/18 (77.8%) chinboy 2026-04-16 07:34:14 +08:00
  • 7b4f0d3988 fix(Alert,Tag,CountBadge): fix high-severity API naming issues - 4/4 completed Fixed three critical bool property naming problems to align with project conventions: 1. Alert.IsMessageMarqueEnabled → IsMessageMarqueeEnabled - Fixed spelling error (missing final 'e' in 'Marquee') - Updated: Alert.cs, AlertTheme.axaml, gallery examples, docs 2. Tag.Bordered → IsBordered - Aligned bool property with 'Is' prefix convention (60+ other bool properties follow this pattern) - Updated: AbstractTag.cs, SelectTagTheme.axaml, gallery examples, docs 3. CountBadge.ShowZero → IsShowZero - Aligned bool property with IsShow* pattern (IsShowIcon, IsShowArrow, etc.) - Updated: AbstractCountBadge.cs, gallery examples, docs All changes compile successfully. Progress: 4/18 (22.2%) high-severity issues resolved. Updated API-Audit-Report.md with completion status and detailed change list. chinboy 2026-04-15 23:41:59 +08:00
  • dc8463ebeb refactor(CheckBox,Controls): consolidate Abstract class definitions and update API audit report - Remove Abstract-Classes-Fix-Summary.md (consolidated into main audit report) - Rename CheckBoxItemsControl to AbstractCheckBoxItemsControl for consistency - Update API audit report to reflect consolidation - Minor style adjustments to table formatting in documentation chinboy 2026-04-15 23:33:49 +08:00
  • 216c389263 docs: update API audit report with Abstract classes fix status - Mark Abstract classes fix (problem #1) as completed - Add fix tracking table showing 1/18 issues resolved - Update priority checklist with completion status - Link to Abstract-Classes-Fix-Summary.md for details - Progress: 5.5% (1/18 issues) chinboy 2026-04-15 23:14:21 +08:00
  • d835f858ae fix(Controls): declare Abstract* control classes as abstract - Add 'abstract' keyword to 15 base control classes in AtomUI.Controls (AbstractHyperLinkButton, AbstractToggleIconButton, AbstractCheckBox, AbstractCheckBoxGroup, AbstractOptionButton, AbstractOptionButtonGroup, AbstractRadioButton, AbstractRadioButtonGroup, and Abstract*Progress* classes) - Add 'abstract' keyword to 3 desktop controls in AtomUI.Desktop.Controls (AbstractAutoComplete, AbstractSelect, AbstractImagePreviewer) - Fixes inconsistency where 'Abstract' naming prefix didn't match actual class declaration - Ensures naming convention aligns with implementation: Abstract* classes are now properly declared as abstract chinboy 2026-04-15 23:11:38 +08:00
  • 4836208c40 release: bump version to 5.2.0-build.4 chinboy 2026-04-15 22:33:25 +08:00
  • d053d1fd80 fix(Core): fix double multiplication in ConvertEmToPixel chinboy 2026-04-15 22:33:11 +08:00
  • 80e33a8215 fix(Window): adjust macOS caption button group offset chinboy 2026-04-15 22:24:11 +08:00
  • 03befca456 fix: 修复在osx x64上的崩溃问题 姚彪 2026-04-14 19:25:09 +08:00
  • 85c2caa741 revert(Controls): revert namespace migration from Controls.Commons to Controls chinboy 2026-04-15 21:47:05 +08:00
  • ff4ce19569 refactor(Controls): migrate namespace from Controls.Commons to Controls chinboy 2026-04-15 21:45:44 +08:00
  • 74fdd3d7ba gallery: refactor Gallery ViewModels and Views to use ReactiveCommand and ReactiveUserControl pattern chinboy 2026-04-15 15:32:14 +08:00
  • 128860bf3a docs: add comprehensive AtomUIGallery architecture and maintenance documentation chinboy 2026-04-15 14:06:39 +08:00
  • d347cd285d gallery: migrate ShowCase view registration to AOT-compatible IViewModule pattern chinboy 2026-04-14 23:39:39 +08:00
  • 7bf8ba25e4 build(deps): move Tmds.DBus.Protocol override to Directory.Build.targets chinboy 2026-04-14 23:11:59 +08:00
  • 8bc16ef340 build(deps): move Tmds.DBus.Protocol override to Directory.Build.targets chinboy 2026-04-14 23:11:59 +08:00
  • 3dfe8e6c2d build(deps): upgrade Tmds.DBus.Protocol to 0.21.3 to fix CVE-2026-39959 (NU1903) chinboy 2026-04-14 23:05:43 +08:00
  • 4fdbd9b881 gallery: replace Locator with AppLocator and fix ShowCase registration timing chinboy 2026-04-14 22:58:36 +08:00
  • ee815b7937 gallery: replace Locator with AppLocator and fix ShowCase registration timing chinboy 2026-04-14 22:58:36 +08:00
  • 1d748f28fc docs: add project maintenance documentation and AI prompt words chinboy 2026-04-14 21:43:14 +08:00
  • 7df3f29065 docs: 添加 AtomUIGallery 项目全面分析文档 chinboy 2026-04-14 17:45:49 +08:00
  • aeb10077c7 docs: add Breadcrumb control design documentation chinboy 2026-04-14 16:41:32 +08:00
  • 0917f6079b docs(DataGrid): 添加架构深度分析文档 chinboy 2026-04-14 16:26:17 +08:00
  • f3ae6466be docs: 为 DataGrid 控件生成完整设计文档 chinboy 2026-04-14 15:57:36 +08:00
  • 820533d0e9 docs: add DataGrid control design documentation chinboy 2026-04-14 14:38:04 +08:00
  • 5c5b18dc7e docs: add ColorPicker usage documentation chinboy 2026-04-14 13:56:28 +08:00
  • 4da22a31d7 docs: add ColorPicker control design documentation chinboy 2026-04-14 13:49:21 +08:00
  • 4832171882 docs(Window): add comprehensive design, API, styling, token and usage documentation chinboy 2026-04-14 12:48:14 +08:00
  • 5a4d62674c docs: add complete Upload control design documentation - Upload.md: design intent, Ant Design alignment, architecture, template structure - UploadAPI.md: full API reference (properties, events, enums, shared types) - UploadUsage.md: usage guide with AXAML/C# examples from Gallery showcase - UploadStyling.md: custom styling guide with selector reference - UploadToken.md: component token reference with SharedToken derivation chain chinboy 2026-04-14 10:53:39 +08:00
  • 684d72c185 docs(TreeView): add comprehensive design, API, styling, token and usage documentation chinboy 2026-04-14 10:31:07 +08:00
  • 73accd6426 docs(TreeSelect): add comprehensive design, API, styling, token and usage documentation chinboy 2026-04-14 10:17:37 +08:00
  • e9d42beee7 docs(Transfer): add comprehensive design, API, styling, token and usage documentation chinboy 2026-04-14 10:03:24 +08:00
  • 5f5354e483 docs(Tour): add comprehensive design, API, styling, token and usage documentation chinboy 2026-04-14 09:28:27 +08:00