Verify handlers and fix ImageButtonHandler

Verified handlers (method-by-method comparison with decompiled):
- CheckBoxHandler, SwitchHandler, SliderHandler, ProgressBarHandler
- ImageHandler, BoxViewHandler, ScrollViewHandler, EditorHandler

Fixed:
- ImageButtonHandler: Added missing MapBackgroundColor method

Blocked:
- BorderHandler: Needs SkiaBorder.MauiView and Tapped event (View issue)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-01 12:39:58 -05:00
parent d3feaa8964
commit 1cdf66c44b
2 changed files with 25 additions and 14 deletions

View File

@@ -24,6 +24,7 @@ public partial class ImageButtonHandler : ViewHandler<IImageButton, SkiaImageBut
[nameof(IButtonStroke.CornerRadius)] = MapCornerRadius,
[nameof(IPadding.Padding)] = MapPadding,
[nameof(IView.Background)] = MapBackground,
["BackgroundColor"] = MapBackgroundColor,
};
public static CommandMapper<IImageButton, ImageButtonHandler> CommandMapper = new(ViewHandler.ViewCommandMapper)
@@ -154,6 +155,16 @@ public partial class ImageButtonHandler : ViewHandler<IImageButton, SkiaImageBut
}
}
public static void MapBackgroundColor(ImageButtonHandler handler, IImageButton imageButton)
{
if (handler.PlatformView is null) return;
if (imageButton is Microsoft.Maui.Controls.ImageButton imgBtn && imgBtn.BackgroundColor is not null)
{
handler.PlatformView.BackgroundColor = imgBtn.BackgroundColor.ToSKColor();
}
}
// Image source loading helper
private ImageSourceServiceResultManager _sourceLoader = null!;

View File

@@ -12,14 +12,14 @@
|------|--------|-------|
| ActivityIndicatorHandler.cs | [ ] | |
| ApplicationHandler.cs | [ ] | |
| BorderHandler.cs | [ ] | |
| BoxViewHandler.cs | [ ] | |
| ButtonHandler.cs | [ ] | Contains TextButtonHandler |
| CheckBoxHandler.cs | [ ] | |
| BorderHandler.cs | [ ] | BLOCKED - needs SkiaBorder.MauiView and Tapped |
| BoxViewHandler.cs | [x] | Verified |
| ButtonHandler.cs | [x] | Contains TextButtonHandler - Verified |
| CheckBoxHandler.cs | [x] | Verified |
| CollectionViewHandler.cs | [ ] | |
| DatePickerHandler.cs | [ ] | |
| EditorHandler.cs | [ ] | |
| EntryHandler.cs | [ ] | |
| EditorHandler.cs | [x] | Verified |
| EntryHandler.cs | [x] | Verified |
| FlexLayoutHandler.cs | [ ] | |
| FlyoutPageHandler.cs | [ ] | |
| FrameHandler.cs | [ ] | |
@@ -29,22 +29,22 @@
| GtkWebViewManager.cs | [ ] | |
| GtkWebViewPlatformView.cs | [ ] | |
| GtkWebViewProxy.cs | [x] | Added new file from decompiled |
| ImageButtonHandler.cs | [ ] | |
| ImageHandler.cs | [ ] | |
| ImageButtonHandler.cs | [x] | FIXED - added MapBackgroundColor |
| ImageHandler.cs | [x] | Verified |
| ItemsViewHandler.cs | [ ] | |
| LabelHandler.cs | [ ] | |
| LayoutHandler.cs | [ ] | Contains GridHandler, StackLayoutHandler, LayoutHandlerUpdate |
| LabelHandler.cs | [x] | Verified |
| LayoutHandler.cs | [x] | Contains GridHandler, StackLayoutHandler, LayoutHandlerUpdate - Verified |
| NavigationPageHandler.cs | [ ] | Contains RelayCommand |
| PageHandler.cs | [x] | Added MapBackgroundColor |
| PickerHandler.cs | [ ] | |
| ProgressBarHandler.cs | [ ] | |
| ProgressBarHandler.cs | [x] | Verified |
| RadioButtonHandler.cs | [ ] | |
| ScrollViewHandler.cs | [ ] | |
| ScrollViewHandler.cs | [x] | Verified |
| SearchBarHandler.cs | [ ] | |
| ShellHandler.cs | [ ] | |
| SliderHandler.cs | [ ] | |
| SliderHandler.cs | [x] | Verified |
| StepperHandler.cs | [ ] | |
| SwitchHandler.cs | [ ] | |
| SwitchHandler.cs | [x] | Verified |
| TabbedPageHandler.cs | [ ] | |
| TimePickerHandler.cs | [ ] | |
| WebViewHandler.cs | [x] | Fixed namespace-qualified event args |