From 6007b84e7afc3e620f7707de27e4ac66c0c5a2a4 Mon Sep 17 00:00:00 2001 From: Dave Friedel Date: Thu, 1 Jan 2026 14:30:17 -0500 Subject: [PATCH] Fix BindingModes: SkiaLayoutView, SkiaStackLayout, SkiaGrid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SkiaLayoutView: Spacing, Padding, ClipToBounds - SkiaStackLayout: Orientation - SkiaGrid: RowSpacing, ColumnSpacing All now TwoWay to match decompiled production. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- MERGE_TRACKING.md | 2 +- Views/SkiaLayoutView.cs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/MERGE_TRACKING.md b/MERGE_TRACKING.md index 54f97ea..be455f0 100644 --- a/MERGE_TRACKING.md +++ b/MERGE_TRACKING.md @@ -79,7 +79,7 @@ | SkiaIndicatorView.cs | [ ] | | | SkiaItemsView.cs | [x] | Added GetItemView() method | | SkiaLabel.cs | [x] | **FIXED 2026-01-01** - All BindingModes TwoWay | -| SkiaLayoutView.cs | [ ] | Contains SkiaGrid, SkiaStackLayout, SkiaAbsoluteLayout, GridLength, GridPosition | +| SkiaLayoutView.cs | [x] | **FIXED 2026-01-01** - All BindingModes TwoWay (Spacing, Padding, ClipToBounds, Orientation, RowSpacing, ColumnSpacing) | | SkiaMenuBar.cs | [ ] | Contains MenuItem, MenuBarItem | | SkiaNavigationPage.cs | [ ] | | | SkiaPage.cs | [x] | Added SkiaToolbarItem.Icon property | diff --git a/Views/SkiaLayoutView.cs b/Views/SkiaLayoutView.cs index 1cc58ba..71518a5 100644 --- a/Views/SkiaLayoutView.cs +++ b/Views/SkiaLayoutView.cs @@ -22,6 +22,7 @@ public abstract class SkiaLayoutView : SkiaView typeof(float), typeof(SkiaLayoutView), 0f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure()); /// @@ -33,6 +34,7 @@ public abstract class SkiaLayoutView : SkiaView typeof(SKRect), typeof(SkiaLayoutView), SKRect.Empty, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure()); /// @@ -44,6 +46,7 @@ public abstract class SkiaLayoutView : SkiaView typeof(bool), typeof(SkiaLayoutView), false, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLayoutView)b).Invalidate()); #endregion @@ -341,6 +344,7 @@ public class SkiaStackLayout : SkiaLayoutView typeof(StackOrientation), typeof(SkiaStackLayout), StackOrientation.Vertical, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaStackLayout)b).InvalidateMeasure()); /// @@ -536,6 +540,7 @@ public class SkiaGrid : SkiaLayoutView typeof(float), typeof(SkiaGrid), 0f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure()); /// @@ -547,6 +552,7 @@ public class SkiaGrid : SkiaLayoutView typeof(float), typeof(SkiaGrid), 0f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure()); #endregion