Fix BindingModes: SkiaLayoutView, SkiaStackLayout, SkiaGrid

- 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 <noreply@anthropic.com>
This commit is contained in:
2026-01-01 14:30:17 -05:00
parent 4d225a43ef
commit 6007b84e7a
2 changed files with 7 additions and 1 deletions

View File

@@ -79,7 +79,7 @@
| SkiaIndicatorView.cs | [ ] | | | SkiaIndicatorView.cs | [ ] | |
| SkiaItemsView.cs | [x] | Added GetItemView() method | | SkiaItemsView.cs | [x] | Added GetItemView() method |
| SkiaLabel.cs | [x] | **FIXED 2026-01-01** - All BindingModes TwoWay | | 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 | | SkiaMenuBar.cs | [ ] | Contains MenuItem, MenuBarItem |
| SkiaNavigationPage.cs | [ ] | | | SkiaNavigationPage.cs | [ ] | |
| SkiaPage.cs | [x] | Added SkiaToolbarItem.Icon property | | SkiaPage.cs | [x] | Added SkiaToolbarItem.Icon property |

View File

@@ -22,6 +22,7 @@ public abstract class SkiaLayoutView : SkiaView
typeof(float), typeof(float),
typeof(SkiaLayoutView), typeof(SkiaLayoutView),
0f, 0f,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure()); propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure());
/// <summary> /// <summary>
@@ -33,6 +34,7 @@ public abstract class SkiaLayoutView : SkiaView
typeof(SKRect), typeof(SKRect),
typeof(SkiaLayoutView), typeof(SkiaLayoutView),
SKRect.Empty, SKRect.Empty,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure()); propertyChanged: (b, o, n) => ((SkiaLayoutView)b).InvalidateMeasure());
/// <summary> /// <summary>
@@ -44,6 +46,7 @@ public abstract class SkiaLayoutView : SkiaView
typeof(bool), typeof(bool),
typeof(SkiaLayoutView), typeof(SkiaLayoutView),
false, false,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaLayoutView)b).Invalidate()); propertyChanged: (b, o, n) => ((SkiaLayoutView)b).Invalidate());
#endregion #endregion
@@ -341,6 +344,7 @@ public class SkiaStackLayout : SkiaLayoutView
typeof(StackOrientation), typeof(StackOrientation),
typeof(SkiaStackLayout), typeof(SkiaStackLayout),
StackOrientation.Vertical, StackOrientation.Vertical,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaStackLayout)b).InvalidateMeasure()); propertyChanged: (b, o, n) => ((SkiaStackLayout)b).InvalidateMeasure());
/// <summary> /// <summary>
@@ -536,6 +540,7 @@ public class SkiaGrid : SkiaLayoutView
typeof(float), typeof(float),
typeof(SkiaGrid), typeof(SkiaGrid),
0f, 0f,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure()); propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure());
/// <summary> /// <summary>
@@ -547,6 +552,7 @@ public class SkiaGrid : SkiaLayoutView
typeof(float), typeof(float),
typeof(SkiaGrid), typeof(SkiaGrid),
0f, 0f,
BindingMode.TwoWay,
propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure()); propertyChanged: (b, o, n) => ((SkiaGrid)b).InvalidateMeasure());
#endregion #endregion