From 4d225a43ef63f35aaa7bb09508e6390f94c9d129 Mon Sep 17 00:00:00 2001 From: Dave Friedel Date: Thu, 1 Jan 2026 14:29:10 -0500 Subject: [PATCH] Fix BindingModes: SkiaLabel, SkiaScrollView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SkiaLabel.cs: Added TwoWay to VerticalTextAlignment, LineBreakMode, MaxLines, LineHeight, CharacterSpacing, Padding - SkiaScrollView.cs: Added TwoWay to Orientation, HorizontalScrollBarVisibility, VerticalScrollBarVisibility, ScrollBarColor, ScrollBarWidth 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- MERGE_TRACKING.md | 4 ++-- Views/SkiaLabel.cs | 6 ++++++ Views/SkiaScrollView.cs | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/MERGE_TRACKING.md b/MERGE_TRACKING.md index c3943b3..54f97ea 100644 --- a/MERGE_TRACKING.md +++ b/MERGE_TRACKING.md @@ -78,7 +78,7 @@ | SkiaImageButton.cs | [ ] | | | SkiaIndicatorView.cs | [ ] | | | SkiaItemsView.cs | [x] | Added GetItemView() method | -| SkiaLabel.cs | [ ] | | +| SkiaLabel.cs | [x] | **FIXED 2026-01-01** - All BindingModes TwoWay | | SkiaLayoutView.cs | [ ] | Contains SkiaGrid, SkiaStackLayout, SkiaAbsoluteLayout, GridLength, GridPosition | | SkiaMenuBar.cs | [ ] | Contains MenuItem, MenuBarItem | | SkiaNavigationPage.cs | [ ] | | @@ -87,7 +87,7 @@ | SkiaProgressBar.cs | [x] | Verified - Progress=OneWay, rest TwoWay, logic matches | | SkiaRadioButton.cs | [ ] | | | SkiaRefreshView.cs | [ ] | | -| SkiaScrollView.cs | [ ] | | +| SkiaScrollView.cs | [x] | **FIXED 2026-01-01** - All BindingModes TwoWay | | SkiaSearchBar.cs | [ ] | | | SkiaShell.cs | [x] | **FIXED 2026-01-01** - Added FlyoutTextColor, ContentBackgroundColor, route registration, query parameters, OnScroll | | SkiaSlider.cs | [x] | FIXED - Value=OneWay, rest TwoWay (agent had inverted all) | diff --git a/Views/SkiaLabel.cs b/Views/SkiaLabel.cs index 9aeb473..fce4588 100644 --- a/Views/SkiaLabel.cs +++ b/Views/SkiaLabel.cs @@ -145,6 +145,7 @@ public class SkiaLabel : SkiaView typeof(TextAlignment), typeof(SkiaLabel), TextAlignment.Center, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).Invalidate()); /// @@ -156,6 +157,7 @@ public class SkiaLabel : SkiaView typeof(LineBreakMode), typeof(SkiaLabel), LineBreakMode.TailTruncation, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).Invalidate()); /// @@ -167,6 +169,7 @@ public class SkiaLabel : SkiaView typeof(int), typeof(SkiaLabel), 0, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).OnTextChanged()); /// @@ -178,6 +181,7 @@ public class SkiaLabel : SkiaView typeof(float), typeof(SkiaLabel), 1.2f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).OnTextChanged()); /// @@ -189,6 +193,7 @@ public class SkiaLabel : SkiaView typeof(float), typeof(SkiaLabel), 0f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).Invalidate()); /// @@ -200,6 +205,7 @@ public class SkiaLabel : SkiaView typeof(SKRect), typeof(SkiaLabel), SKRect.Empty, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaLabel)b).OnTextChanged()); #endregion diff --git a/Views/SkiaScrollView.cs b/Views/SkiaScrollView.cs index 6f412a7..d9c1d16 100644 --- a/Views/SkiaScrollView.cs +++ b/Views/SkiaScrollView.cs @@ -21,6 +21,7 @@ public class SkiaScrollView : SkiaView typeof(ScrollOrientation), typeof(SkiaScrollView), ScrollOrientation.Both, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaScrollView)b).InvalidateMeasure()); /// @@ -32,6 +33,7 @@ public class SkiaScrollView : SkiaView typeof(ScrollBarVisibility), typeof(SkiaScrollView), ScrollBarVisibility.Auto, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaScrollView)b).Invalidate()); /// @@ -43,6 +45,7 @@ public class SkiaScrollView : SkiaView typeof(ScrollBarVisibility), typeof(SkiaScrollView), ScrollBarVisibility.Auto, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaScrollView)b).Invalidate()); /// @@ -54,6 +57,7 @@ public class SkiaScrollView : SkiaView typeof(SKColor), typeof(SkiaScrollView), new SKColor(0x80, 0x80, 0x80, 0x80), + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaScrollView)b).Invalidate()); /// @@ -65,6 +69,7 @@ public class SkiaScrollView : SkiaView typeof(float), typeof(SkiaScrollView), 8f, + BindingMode.TwoWay, propertyChanged: (b, o, n) => ((SkiaScrollView)b).Invalidate()); #endregion