From ee2769cf811faa390e63a68af3c27f20706458de Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Tue, 11 Mar 2025 10:30:38 +0100 Subject: [PATCH 1/4] Obsolete TableView --- src/Controls/src/Core/Cells/Cell.cs | 4 ++++ .../Handlers/ListView/Android/CellFactory.cs | 6 ++++++ .../ListView/Android/ViewCellRenderer.cs | 4 ++++ .../Android/TableViewModelRenderer.cs | 4 ++++ .../TableView/Android/TableViewRenderer.cs | 14 ++++++++++++-- .../TableView/iOS/TableViewModelRenderer.cs | 18 ++++++++++++++++++ .../TableView/iOS/TableViewRenderer.cs | 8 ++++++++ .../iOS/Extensions/CellExtensions.cs | 2 ++ .../Core/Hosting/AppHostBuilderExtensions.cs | 2 ++ .../src/Core/Internals/CellExtensions.cs | 2 ++ src/Controls/src/Core/TableView/TableView.cs | 1 + .../Elements/Button/ButtonTests.iOS.cs | 2 ++ .../Elements/Entry/EntryTests.iOS.cs | 2 ++ .../tests/DeviceTests/Memory/MemoryTests.cs | 2 ++ .../TestCases/ControlsViewTypesTestCases.cs | 2 ++ 15 files changed, 71 insertions(+), 2 deletions(-) diff --git a/src/Controls/src/Core/Cells/Cell.cs b/src/Controls/src/Core/Cells/Cell.cs index eafc18ba5658..1b9d62c8ef0d 100644 --- a/src/Controls/src/Core/Cells/Cell.cs +++ b/src/Controls/src/Core/Cells/Cell.cs @@ -136,7 +136,9 @@ public double RenderHeight { get { +#pragma warning disable CS0618 // Type or member is obsolete var table = RealParent as TableView; +#pragma warning restore CS0618 // Type or member is obsolete if (table != null) return table.HasUnevenRows && Height > 0 ? Height : table.RowHeight; @@ -163,11 +165,13 @@ public void ForceUpdateSize() if (_nextCallToForceUpdateSizeQueued) return; +#pragma warning disable CS0618 // Type or member is obsolete if ((Parent as ListView)?.HasUnevenRows == true || (Parent as TableView)?.HasUnevenRows == true) { _nextCallToForceUpdateSizeQueued = true; OnForceUpdateSizeRequested(); } +#pragma warning restore CS0618 // Type or member is obsolete } public event EventHandler Tapped; diff --git a/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/CellFactory.cs b/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/CellFactory.cs index f7706972bb01..5a61e596625c 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/CellFactory.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/CellFactory.cs @@ -14,10 +14,12 @@ public static AView GetCell(Cell item, AView convertView, ViewGroup parent, Cont { // If the convert view coming in is null that means this cell is going to need a new view generated for it // This should probably be copied over to ListView once all sets of these TableView changes are propagated There +#pragma warning disable CS0618 // Type or member is obsolete if (item.Handler is IElementHandler handler && convertView is null && view is TableView) { handler.DisconnectHandler(); } +#pragma warning restore CS0618 // Type or member is obsolete CellRenderer renderer = CellRenderer.GetRenderer(item); if (renderer == null) @@ -33,15 +35,19 @@ public static AView GetCell(Cell item, AView convertView, ViewGroup parent, Cont AView result = renderer.GetCell(item, convertView, parent, context); +#pragma warning disable CS0618 // Type or member is obsolete if (view is TableView) UpdateMinimumHeightFromParent(context, result, (TableView)view); else if (view is ListView) UpdateMinimumHeightFromParent(context, result, (ListView)view); +#pragma warning restore CS0618 // Type or member is obsolete return result; } +#pragma warning disable CS0618 // Type or member is obsolete static void UpdateMinimumHeightFromParent(Context context, AView view, TableView table) +#pragma warning restore CS0618 // Type or member is obsolete { if (!table.HasUnevenRows && table.RowHeight > 0) view.SetMinimumHeight((int)context.ToPixels(table.RowHeight)); diff --git a/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/ViewCellRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/ViewCellRenderer.cs index 3185a1e8460c..5ed6b2ee6ed1 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/ViewCellRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/ListView/Android/ViewCellRenderer.cs @@ -28,6 +28,7 @@ protected override AView GetCellCore(Cell item, AView convertView, ViewGroup par } BindableProperty unevenRows = null, rowHeight = null; +#pragma warning disable CS0618 // Type or member is obsolete if (ParentView is TableView) { unevenRows = TableView.HasUnevenRowsProperty; @@ -40,6 +41,7 @@ protected override AView GetCellCore(Cell item, AView convertView, ViewGroup par unevenRows = ListView.HasUnevenRowsProperty; rowHeight = ListView.RowHeightProperty; } +#pragma warning restore CS0618 // Type or member is obsolete if (cell.View == null) throw new InvalidOperationException($"ViewCell must have a {nameof(cell.View)}"); @@ -49,6 +51,7 @@ protected override AView GetCellCore(Cell item, AView convertView, ViewGroup par // If the convertView is null we don't want to return the same view, we need to return a new one. // We should probably do this for ListView as well +#pragma warning disable CS0618 // Type or member is obsolete if (ParentView is TableView) { view.ToPlatform().RemoveFromParent(); @@ -60,6 +63,7 @@ protected override AView GetCellCore(Cell item, AView convertView, ViewGroup par if (c != null) return c; } +#pragma warning restore CS0618 // Type or member is obsolete var newContainer = new ViewCellContainer(context, (IPlatformViewHandler)cell.View.Handler, cell, ParentView, unevenRows, rowHeight); diff --git a/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewModelRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewModelRenderer.cs index 901c72dda3bf..14bf612e924f 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewModelRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewModelRenderer.cs @@ -12,7 +12,9 @@ namespace Microsoft.Maui.Controls.Handlers.Compatibility { public class TableViewModelRenderer : CellAdapter { +#pragma warning disable CS0618 // Type or member is obsolete readonly TableView _view; +#pragma warning restore CS0618 // Type or member is obsolete protected readonly Context Context; ITableViewController Controller => _view; Cell _restoreFocus; @@ -75,7 +77,9 @@ int DividerResourceId } } +#pragma warning disable CS0618 // Type or member is obsolete public TableViewModelRenderer(Context context, AListView listView, TableView view) : base(context) +#pragma warning restore CS0618 // Type or member is obsolete { _view = view; Context = context; diff --git a/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewRenderer.cs index 388276821d0f..880721307fc3 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/TableView/Android/TableViewRenderer.cs @@ -10,15 +10,19 @@ namespace Microsoft.Maui.Controls.Handlers.Compatibility { +#pragma warning disable CS0618 // Type or member is obsolete public class TableViewRenderer : ViewRenderer +#pragma warning restore CS0618 // Type or member is obsolete { +#pragma warning disable CS0618 // Type or member is obsolete public static PropertyMapper Mapper = new PropertyMapper(VisualElementRendererMapper); +#pragma warning restore CS0618 // Type or member is obsolete - +#pragma warning disable CS0618 // Type or member is obsolete public static CommandMapper CommandMapper = new CommandMapper(VisualElementRendererCommandMapper); - +#pragma warning restore CS0618 // Type or member is obsolete TableViewModelRenderer _adapter; bool _reattached; bool _disposed; @@ -28,7 +32,9 @@ public TableViewRenderer(Context context) : base(context, Mapper, CommandMapper) AutoPackage = false; } +#pragma warning disable CS0618 // Type or member is obsolete protected virtual TableViewModelRenderer GetModelRenderer(AListView listView, TableView view) +#pragma warning restore CS0618 // Type or member is obsolete { return new TableViewModelRenderer(Context, listView, view); } @@ -43,7 +49,9 @@ protected override AListView CreateNativeControl() return new AListView(Context); } +#pragma warning disable CS0618 // Type or member is obsolete protected override void OnElementChanged(ElementChangedEventArgs e) +#pragma warning restore CS0618 // Type or member is obsolete { base.OnElementChanged(e); @@ -57,7 +65,9 @@ protected override void OnElementChanged(ElementChangedEventArgs e) listView.Focusable = false; listView.DescendantFocusability = DescendantFocusability.AfterDescendants; +#pragma warning disable CS0618 // Type or member is obsolete TableView view = e.NewElement; +#pragma warning restore CS0618 // Type or member is obsolete _adapter = GetModelRenderer(listView, view); listView.Adapter = _adapter; diff --git a/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewModelRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewModelRenderer.cs index 31ad074b06fc..34e483f0cc37 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewModelRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewModelRenderer.cs @@ -23,7 +23,9 @@ public class TableViewModelRenderer : UITableViewSource protected TableView View; WeakReference _platformView; +#pragma warning disable CS0618 // Type or member is obsolete WeakReference _tableView; +#pragma warning restore CS0618 // Type or member is obsolete UITableView PlatformView { @@ -31,13 +33,17 @@ UITableView PlatformView set => _platformView = value is not null ? new(value) : null; } +#pragma warning disable CS0618 // Type or member is obsolete internal TableView TableView +#pragma warning restore CS0618 // Type or member is obsolete { get => _tableView is not null && _tableView.TryGetTarget(out var t) ? t : null; set => _tableView = value is not null ? new(value) : null; } +#pragma warning disable CS0618 // Type or member is obsolete public TableViewModelRenderer(TableView model) +#pragma warning restore CS0618 // Type or member is obsolete { TableView = model; model.ModelChanged += (s, e) => PlatformView?.ReloadData(); @@ -48,8 +54,10 @@ public TableViewModelRenderer(TableView model) public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { +#pragma warning disable CS0618 // Type or member is obsolete if (TableView is not TableView table) return null; +#pragma warning restore CS0618 // Type or member is obsolete var cell = table.Model.GetCell(indexPath.Section, indexPath.Row); var nativeCell = CellTableViewCell.GetPlatformCell(tableView, cell); @@ -58,8 +66,10 @@ public override UITableViewCell GetCell(UITableView tableView, NSIndexPath index public override nfloat GetHeightForHeader(UITableView tableView, nint section) { +#pragma warning disable CS0618 // Type or member is obsolete if (TableView is not TableView table) return 0; +#pragma warning restore CS0618 // Type or member is obsolete if (!_headerCells.ContainsKey((int)section)) _headerCells[section] = table.Model.GetHeaderCell((int)section); @@ -70,8 +80,10 @@ public override nfloat GetHeightForHeader(UITableView tableView, nint section) public override UIView GetViewForHeader(UITableView tableView, nint section) { +#pragma warning disable CS0618 // Type or member is obsolete if (TableView is not TableView table) return null; +#pragma warning restore CS0618 // Type or member is obsolete if (!_headerCells.ContainsKey((int)section)) _headerCells[section] = table.Model.GetHeaderCell((int)section); @@ -93,6 +105,7 @@ public override UIView GetViewForHeader(UITableView tableView, nint section) public override void WillDisplayHeaderView(UITableView tableView, UIView headerView, nint section) { +#pragma warning disable CS0618 // Type or member is obsolete if (headerView is UITableViewHeaderFooterView header && TableView is TableView table) { var sectionHeaderTextColor = table.Model.GetSectionTextColor((int)section); @@ -106,6 +119,7 @@ public override void WillDisplayHeaderView(UITableView tableView, UIView headerV #pragma warning restore CA1416, CA1422 } } +#pragma warning restore CS0618 // Type or member is obsolete } public void LongPress(UILongPressGestureRecognizer gesture) @@ -175,14 +189,18 @@ void Tap(UITapGestureRecognizer gesture) public class UnEvenTableViewModelRenderer : TableViewModelRenderer { +#pragma warning disable CS0618 // Type or member is obsolete public UnEvenTableViewModelRenderer(TableView model) : base(model) +#pragma warning restore CS0618 // Type or member is obsolete { } public override nfloat GetHeightForRow(UITableView tableView, NSIndexPath indexPath) { +#pragma warning disable CS0618 // Type or member is obsolete if (TableView is not TableView table) return 0; +#pragma warning restore CS0618 // Type or member is obsolete var cell = table.Model.GetCell(indexPath.Section, indexPath.Row); var h = cell.Height; diff --git a/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewRenderer.cs index b859af8cd439..8d738c603cc8 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/TableView/iOS/TableViewRenderer.cs @@ -9,7 +9,9 @@ namespace Microsoft.Maui.Controls.Handlers.Compatibility { +#pragma warning disable CS0618 // Type or member is obsolete public class TableViewRenderer : ViewRenderer +#pragma warning restore CS0618 // Type or member is obsolete { const int DefaultRowHeight = 44; UIView _originalBackgroundView; @@ -65,7 +67,9 @@ protected UITableViewStyle GetTableViewStyle(TableIntent intent) return intent == TableIntent.Data ? UITableViewStyle.Plain : UITableViewStyle.Grouped; } +#pragma warning disable CS0618 // Type or member is obsolete protected override void OnElementChanged(ElementChangedEventArgs e) +#pragma warning restore CS0618 // Type or member is obsolete { if (e.NewElement != null) { @@ -96,12 +100,16 @@ protected override void OnElementPropertyChanged(object sender, PropertyChangedE { base.OnElementPropertyChanged(sender, e); +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS0618 // Type or member is obsolete if (e.PropertyName == TableView.RowHeightProperty.PropertyName) UpdateRowHeight(); else if (e.PropertyName == TableView.HasUnevenRowsProperty.PropertyName) SetSource(); else if (e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName || e.PropertyName == VisualElement.BackgroundProperty.PropertyName) UpdateBackgroundView(); +#pragma warning restore CS0618 // Type or member is obsolete +#pragma warning restore CS0618 // Type or member is obsolete } protected override void UpdateNativeWidget() diff --git a/src/Controls/src/Core/Compatibility/iOS/Extensions/CellExtensions.cs b/src/Controls/src/Core/Compatibility/iOS/Extensions/CellExtensions.cs index 490391ad2dd0..601ca3bbc9b5 100644 --- a/src/Controls/src/Core/Compatibility/iOS/Extensions/CellExtensions.cs +++ b/src/Controls/src/Core/Compatibility/iOS/Extensions/CellExtensions.cs @@ -14,6 +14,7 @@ internal static NSIndexPath GetIndexPath(this Cell self) NSIndexPath path; +#pragma warning disable CS0618 // Type or member is obsolete if (self.RealParent is ListView) { var section = 0; @@ -31,6 +32,7 @@ internal static NSIndexPath GetIndexPath(this Cell self) } else throw new NotSupportedException("Unknown cell parent type"); +#pragma warning restore CS0618 // Type or member is obsolete return path; } diff --git a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs index 25f6062a70b9..02d2651ce69c 100644 --- a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs +++ b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs @@ -132,7 +132,9 @@ internal static IMauiHandlersCollection AddControlsHandlers(this IMauiHandlersCo handlersCollection.AddHandler(typeof(ViewCell), typeof(Handlers.Compatibility.ViewCellRenderer)); handlersCollection.AddHandler(typeof(SwitchCell), typeof(Handlers.Compatibility.SwitchCellRenderer)); #endif +#pragma warning disable CS0618 // Type or member is obsolete handlersCollection.AddHandler(typeof(TableView), typeof(Handlers.Compatibility.TableViewRenderer)); +#pragma warning restore CS0618 // Type or member is obsolete #pragma warning disable CS0618 // Type or member is obsolete handlersCollection.AddHandler(typeof(Frame), typeof(Handlers.Compatibility.FrameRenderer)); #pragma warning restore CS0618 // Type or member is obsolete diff --git a/src/Controls/src/Core/Internals/CellExtensions.cs b/src/Controls/src/Core/Internals/CellExtensions.cs index 760e6866c82a..8701da641814 100644 --- a/src/Controls/src/Core/Internals/CellExtensions.cs +++ b/src/Controls/src/Core/Internals/CellExtensions.cs @@ -40,7 +40,9 @@ public static class CellExtensions /// public static Tuple GetPath(this Cell cell) { +#pragma warning disable CS0618 // Type or member is obsolete return TableView.TableSectionModel.GetPath(cell); +#pragma warning restore CS0618 // Type or member is obsolete } } } diff --git a/src/Controls/src/Core/TableView/TableView.cs b/src/Controls/src/Core/TableView/TableView.cs index eb66239603e4..b20b11f41ebf 100644 --- a/src/Controls/src/Core/TableView/TableView.cs +++ b/src/Controls/src/Core/TableView/TableView.cs @@ -12,6 +12,7 @@ namespace Microsoft.Maui.Controls { /// + [Obsolete("Please use CollectionView instead.")] [ContentProperty(nameof(Root))] public class TableView : View, ITableViewController, IElementConfiguration, IVisualTreeElement { diff --git a/src/Controls/tests/DeviceTests/Elements/Button/ButtonTests.iOS.cs b/src/Controls/tests/DeviceTests/Elements/Button/ButtonTests.iOS.cs index 2670ffa2f9cd..d73adde6fc02 100644 --- a/src/Controls/tests/DeviceTests/Elements/Button/ButtonTests.iOS.cs +++ b/src/Controls/tests/DeviceTests/Elements/Button/ButtonTests.iOS.cs @@ -64,7 +64,9 @@ await InvokeOnMainThreadAsync(async () => // Wait for image to load and force the grid to measure itself again await Task.Delay(1000); +#pragma warning disable CS0618 // Type or member is obsolete layout.Measure(double.PositiveInfinity, double.PositiveInfinity); +#pragma warning restore CS0618 // Type or member is obsolete await handler.ToPlatform().AssertContainsColor(Colors.Blue, MauiContext); // Grid renders await handler.ToPlatform().AssertContainsColor(Colors.Red, MauiContext); // Image within button renders diff --git a/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs b/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs index ca80bbf47394..4bad2b488739 100644 --- a/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs +++ b/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs @@ -179,6 +179,7 @@ public async Task NextTableView() ReturnType = ReturnType.Next }; +#pragma warning disable CS0618 // Type or member is obsolete var tableView = new TableView() { Root = new TableRoot("Table Title") { @@ -195,6 +196,7 @@ public async Task NextTableView() }, } }; +#pragma warning restore CS0618 // Type or member is obsolete var layout = new VerticalStackLayout() { diff --git a/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs b/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs index a9807b1447fe..10c98d1332bf 100644 --- a/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs +++ b/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs @@ -170,7 +170,9 @@ await CreateHandlerAndAddToWindow(new Window(navPage), async () => [InlineData(typeof(SwipeView))] [InlineData(typeof(Switch))] [InlineData(typeof(TimePicker))] +#pragma warning disable CS0618 // Type or member is obsolete [InlineData(typeof(TableView))] +#pragma warning restore CS0618 // Type or member is obsolete //[InlineData(typeof(WebView))] - This test was moved to MemoryTests.cs inside Appium [InlineData(typeof(CollectionView))] public async Task HandlerDoesNotLeak(Type type) diff --git a/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs b/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs index 2d99c739ceb5..e3df43518468 100644 --- a/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs +++ b/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs @@ -55,7 +55,9 @@ public class ControlsViewTypesTestCases : IEnumerable new object[] { typeof(Stepper) }, new object[] { typeof(SwipeView) }, new object[] { typeof(Switch) }, +#pragma warning disable CS0618 // Type or member is obsolete new object[] { typeof(TableView) }, +#pragma warning restore CS0618 // Type or member is obsolete new object[] { typeof(TimePicker) }, new object[] { typeof(WebView) }, }; From c24af894f90f80205eca253ac24694d431d6feba Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Tue, 11 Mar 2025 10:48:31 +0100 Subject: [PATCH 2/4] Build errors --- src/Compatibility/Core/src/Windows/TableViewRenderer.cs | 4 ++++ src/Controls/tests/DeviceTests/Memory/MemoryTests.cs | 2 ++ .../tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/Compatibility/Core/src/Windows/TableViewRenderer.cs b/src/Compatibility/Core/src/Windows/TableViewRenderer.cs index 7f065947f96e..3a7d98a0aa6e 100644 --- a/src/Compatibility/Core/src/Windows/TableViewRenderer.cs +++ b/src/Compatibility/Core/src/Windows/TableViewRenderer.cs @@ -9,7 +9,9 @@ namespace Microsoft.Maui.Controls.Compatibility.Platform.UWP { [Obsolete("Use Microsoft.Maui.Controls.Handlers.Compatibility.TableViewRenderer instead")] +#pragma warning disable CS0618 // Type or member is obsolete public partial class TableViewRenderer : ViewRenderer +#pragma warning restore CS0618 // Type or member is obsolete { bool _ignoreSelectionEvent; bool _disposed; @@ -21,7 +23,9 @@ public override SizeRequest GetDesiredSize(double widthConstraint, double height return result; } +#pragma warning disable CS0618 // Type or member is obsolete protected override void OnElementChanged(ElementChangedEventArgs e) +#pragma warning restore CS0618 // Type or member is obsolete { if (e.OldElement != null) { diff --git a/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs b/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs index 10c98d1332bf..2043a6b05346 100644 --- a/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs +++ b/src/Controls/tests/DeviceTests/Memory/MemoryTests.cs @@ -62,7 +62,9 @@ void SetupBuilder() handlers.AddHandler(); handlers.AddHandler(); handlers.AddHandler(); +#pragma warning disable CS0618 // Type or member is obsolete handlers.AddHandler(); +#pragma warning restore CS0618 // Type or member is obsolete handlers.AddHandler(); handlers.AddHandler(); handlers.AddHandler(); diff --git a/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs b/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs index e3df43518468..99aebe2f09b8 100644 --- a/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs +++ b/src/Controls/tests/DeviceTests/TestCases/ControlsViewTypesTestCases.cs @@ -109,7 +109,9 @@ public static void Setup(MauiAppBuilder builder) handlers.AddHandler(); handlers.AddHandler(); handlers.AddHandler(); +#pragma warning disable CS0618 // Type or member is obsolete handlers.AddHandler(); +#pragma warning restore CS0618 // Type or member is obsolete handlers.AddHandler(); handlers.AddHandler(); }); From afac750e36f7afc8013ba5b771b256406e784f6e Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Tue, 11 Mar 2025 11:06:20 +0100 Subject: [PATCH 3/4] Update TableViewRenderer.cs --- .../Handlers/TableView/Windows/TableViewRenderer.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Controls/src/Core/Compatibility/Handlers/TableView/Windows/TableViewRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/TableView/Windows/TableViewRenderer.cs index 91f13c7e6fea..ced4732825c9 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/TableView/Windows/TableViewRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/TableView/Windows/TableViewRenderer.cs @@ -9,7 +9,9 @@ namespace Microsoft.Maui.Controls.Handlers.Compatibility { +#pragma warning disable CS0618 // Type or member is obsolete public partial class TableViewRenderer : ViewRenderer +#pragma warning restore CS0618 // Type or member is obsolete { bool _ignoreSelectionEvent; bool _disposed; @@ -24,7 +26,9 @@ protected override Size MinimumSize() return new Size(40, 40); } +#pragma warning disable CS0618 // Type or member is obsolete protected override void OnElementChanged(ElementChangedEventArgs e) +#pragma warning restore CS0618 // Type or member is obsolete { if (e.OldElement != null) { From f6db0797fa0736a874d7d435e2fd3181c89a6e73 Mon Sep 17 00:00:00 2001 From: Gerald Versluis Date: Tue, 11 Mar 2025 11:13:31 +0100 Subject: [PATCH 4/4] Update EntryTests.iOS.cs --- src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs b/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs index 4bad2b488739..d1db75bd8139 100644 --- a/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs +++ b/src/Controls/tests/DeviceTests/Elements/Entry/EntryTests.iOS.cs @@ -115,7 +115,9 @@ void SetupNextBuilder() builder.ConfigureMauiHandlers(handlers => { handlers.AddHandler(); +#pragma warning disable CS0618 // Type or member is obsolete handlers.AddHandler(); +#pragma warning restore CS0618 // Type or member is obsolete handlers.AddHandler(); handlers.AddHandler(); handlers.AddHandler();