diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 087d58ae..5a4c60f8 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -13,7 +13,7 @@ on: - '*' env: - LATEST_NET_VERSION: '9.0.x' + LATEST_NET_VERSION: '10.0.x' PathToCommunityToolkitBenchmarkCsproj: 'src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj' concurrency: @@ -42,7 +42,7 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.LATEST_NET_VERSION }} - dotnet-quality: 'ga' + dotnet-quality: 'preview' - name: Install .NET MAUI Workload run: | diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml index 1d7cc788..aed2fe15 100644 --- a/.github/workflows/dotnet-build.yml +++ b/.github/workflows/dotnet-build.yml @@ -18,7 +18,7 @@ env: # When we create a tag, we set the NuGet version to the tag number, the below values are only for PR builds. CurrentSemanticVersionBase: '99.0.0' # Only used for PR builds NugetPackageVersion: '99.0.0-preview${{ github.run_number }}' # Only used for PR builds - NET_VERSION: '9.0.x' + NET_VERSION: '10.0.x' RunPoliCheck: false PathToLibrarySolution: 'src/CommunityToolkit.Maui.Markup.sln' PathToSamplesSolution: 'samples/CommunityToolkit.Maui.Markup.Sample.sln' @@ -26,7 +26,7 @@ env: PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj' PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj' PathToCommunityToolkitSourceGeneratorsCsproj: 'src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj' - Xcode_Version: '16.3' + Xcode_Version: '26.0.1' ShouldCheckDependencies: true concurrency: @@ -55,7 +55,7 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.NET_VERSION }} - dotnet-quality: 'ga' + dotnet-quality: 'preview' - uses: actions/setup-java@v5 with: @@ -112,7 +112,7 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.NET_VERSION }} - dotnet-quality: 'ga' + dotnet-quality: 'preview' - uses: actions/setup-java@v5 with: @@ -206,7 +206,7 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.NET_VERSION }} - dotnet-quality: 'ga' + dotnet-quality: 'preview' - name: Download NuGet List uses: actions/download-artifact@v5 @@ -259,7 +259,7 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: ${{ env.NET_VERSION }} - dotnet-quality: 'ga' + dotnet-quality: 'preview' - name: Download signed packages for ${{ matrix.platform }} uses: actions/download-artifact@v5 diff --git a/Directory.Build.props b/Directory.Build.props index 475df0c8..f92a4841 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,8 +2,8 @@ enable - NETSDK1023 - net9.0 + NETSDK1023;XCODE_26_0_PREVIEW + net10.0 preview enable true @@ -20,8 +20,8 @@ all - 9.0.60 - 10.0.0 + 10.0.0-rc.2.25504.7 + 11.0.0 11.2.0 true true @@ -91,7 +91,7 @@ IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099, IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109, IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119, - IL2120,IL2121,IL2122, + IL2120,IL2121,IL2122,IL2123, IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056, RS1038 diff --git a/global.json b/global.json index 478da3ed..44fce943 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "9.0.203", + "version": "10.0.100-rc.2.25502.107", "rollForward": "latestFeature", - "allowPrerelease": false + "allowPrerelease": true } } \ No newline at end of file diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs b/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs index 158749da..42c0bd8a 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs @@ -2,7 +2,6 @@ namespace CommunityToolkit.Maui.Markup.Sample; -[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")] partial class AppShell : Shell { static readonly ReadOnlyDictionary pageRouteMappingDictionary = new Dictionary( diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj index 5537b126..58aa1cfd 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj +++ b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj @@ -35,11 +35,13 @@ CsWinRT1028 - - - - - true + + + + false + true + partial @@ -75,4 +77,8 @@ + + + + diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs b/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs index 47d516a7..3657e01f 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; namespace CommunityToolkit.Maui.Markup.Sample; -[RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")] class HotReloadHandler : ICommunityToolkitHotReloadHandler { public async void OnHotReload(IReadOnlyList types) diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs b/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs index 37af4d66..7646a4a1 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs @@ -1,10 +1,8 @@ -using System.Diagnostics.CodeAnalysis; -using Microsoft.Extensions.Http.Resilience; +using Microsoft.Extensions.Http.Resilience; using Polly; using Refit; namespace CommunityToolkit.Maui.Markup.Sample; -[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")] public class MauiProgram { public static MauiApp CreateMauiApp() diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs index 37503516..6d3ba6ef 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs @@ -1,13 +1,10 @@ -using System.Diagnostics.CodeAnalysis; - -namespace CommunityToolkit.Maui.Markup.Sample.Pages; +namespace CommunityToolkit.Maui.Markup.Sample.Pages; sealed partial class NewsPage : BaseContentPage { readonly IDispatcher dispatcher; readonly RefreshView refreshView; - [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")] public NewsPage(IDispatcher dispatcher, NewsViewModel newsViewModel) : base(newsViewModel, "Top Stories") { @@ -49,7 +46,6 @@ protected override void OnAppearing() static bool IsNullOrEmpty(in IEnumerable? enumerable) => !enumerable?.GetEnumerator().MoveNext() ?? true; } - [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")] async void HandleSelectionChanged(object? sender, SelectionChangedEventArgs e) { ArgumentNullException.ThrowIfNull(sender); @@ -65,13 +61,13 @@ async void HandleSelectionChanged(object? sender, SelectionChangedEventArgs e) } else { - await DisplayAlert("Invalid Article", "ASK HN articles have no url", "OK"); + await DisplayAlertAsync("Invalid Article", "ASK HN articles have no url", "OK"); } } } async void HandlePullToRefreshFailed(object? sender, string message) => - await dispatcher.DispatchAsync(() => DisplayAlert("Refresh Failed", message, "OK")); + await dispatcher.DispatchAsync(() => DisplayAlertAsync("Refresh Failed", message, "OK")); bool TryRefreshCollectionView() { @@ -86,14 +82,12 @@ bool TryRefreshCollectionView() void HandleNumberOfTopStoriesToFetchChanged(object? sender, int e) => TryRefreshCollectionView(); - [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")] Task NavigateToSettingsPage() => dispatcher.DispatchAsync(() => { var route = AppShell.GetRoute(); return Shell.Current.GoToAsync(route); }); - [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")] Task NavigateToNewsDetailPage(StoryModel storyModel) => dispatcher.DispatchAsync(() => { var route = AppShell.GetRoute(); diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs index 45875e77..261c2247 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs @@ -1,11 +1,9 @@ -using System.Diagnostics.CodeAnalysis; -using Microsoft.Maui.Layouts; +using Microsoft.Maui.Layouts; namespace CommunityToolkit.Maui.Markup.Sample.Pages; sealed partial class SettingsPage : BaseContentPage { - [RequiresUnreferencedCode("Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")] public SettingsPage(SettingsViewModel settingsViewModel) : base(settingsViewModel, "Settings") { Content = new AbsoluteLayout diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs index 8ed035bf..45ddaa37 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs @@ -1,9 +1,7 @@ -using System.Diagnostics.CodeAnalysis; -using Foundation; +using Foundation; namespace CommunityToolkit.Maui.Markup.Sample; [Register(nameof(AppDelegate))] -[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")] public class AppDelegate : MauiUIApplicationDelegate { protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs index 8ed035bf..45ddaa37 100644 --- a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs +++ b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs @@ -1,9 +1,7 @@ -using System.Diagnostics.CodeAnalysis; -using Foundation; +using Foundation; namespace CommunityToolkit.Maui.Markup.Sample; [Register(nameof(AppDelegate))] -[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")] public class AppDelegate : MauiUIApplicationDelegate { protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs index c1d1f6a2..2d6f5287 100644 --- a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs +++ b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs @@ -1,5 +1,4 @@ using System.Windows.Input; -using BindableObjectViews; using CommunityToolkit.Maui.Markup.UnitTests.Base; using NUnit.Framework; namespace CommunityToolkit.Maui.Markup.UnitTests @@ -672,40 +671,40 @@ public void BindDefaultPropertyWithInlineTwoWayParameterizedConvertAndPositional [Test] public void BindCommandWithDefaults() { - var textCell = new TextCell(); + var button = new Button(); var path = nameof(viewModel.Command); - textCell.BindCommand(path); + button.BindCommand(path); - BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path); - BindingHelpers.AssertBindingExists(textCell, TextCell.CommandParameterProperty); + BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path); + BindingHelpers.AssertBindingExists(button, Button.CommandParameterProperty); } [Test] public void BindCommandWithoutParameter() { - var textCell = new TextCell(); + var button = new Button(); var path = nameof(viewModel.Command); - textCell.BindCommand(path, parameterPath: null); + button.BindCommand(path, parameterPath: null); - BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path); - Assert.That(BindingHelpers.GetBinding(textCell, TextCell.CommandParameterProperty), Is.Null); + BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path); + Assert.That(BindingHelpers.GetBinding(button, Button.CommandParameterProperty), Is.Null); } [Test] public void BindCommandWithPositionalParameters() { - var textCell = new TextCell(); + var button = new Button(); object source = new ViewModel(); var path = nameof(viewModel.Command); var parameterPath = nameof(viewModel.Id); object parameterSource = new ViewModel(); - textCell.BindCommand(path, source, parameterPath, parameterSource); + button.BindCommand(path, source, parameterPath, parameterSource); - BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path, source: source); - BindingHelpers.AssertBindingExists(textCell, TextCell.CommandParameterProperty, parameterPath, source: parameterSource); + BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path, source: source); + BindingHelpers.AssertBindingExists(button, Button.CommandParameterProperty, parameterPath, source: parameterSource); } [Test] @@ -747,7 +746,6 @@ public void SupportDerivedElements() .Assign(out DerivedFromLabel assignDerivedFromLabel), Is.InstanceOf()); - Assert.That(new DerivedFromTextCell().BindCommand(nameof(viewModel.Command)), Is.InstanceOf()); Assert.That(assignDerivedFromLabel, Is.InstanceOf()); }); } @@ -803,8 +801,4 @@ sealed class ViewModel class DerivedFromLabel : Label { } - - class DerivedFromTextCell : TextCell - { - } } \ No newline at end of file diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj index da5ea552..3c0c4c4b 100644 --- a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj +++ b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj @@ -15,6 +15,7 @@ + diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs index 3129c81a..8b47803f 100644 --- a/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs +++ b/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs @@ -1,5 +1,4 @@ using CommunityToolkit.Maui.Markup.UnitTests.Base; -using CommunityToolkit.Maui.Markup.UnitTests.Mocks; using NUnit.Framework; namespace CommunityToolkit.Maui.Markup.UnitTests; diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs index dbd8bf79..bf2e1833 100644 --- a/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs +++ b/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs @@ -1,5 +1,4 @@ using CommunityToolkit.Maui.Markup.UnitTests.Base; -using CommunityToolkit.Maui.Markup.UnitTests.Mocks; using NUnit.Framework; namespace CommunityToolkit.Maui.Markup.UnitTests; diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs index ae750fbd..f4651e71 100644 --- a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs +++ b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs @@ -51,15 +51,15 @@ public void BindCommandThrowsArgumentNullExceptionWhenParameterHandlersNull() [Test] public void BindCommandWithDefaults() { - var textCell = new TextCell + var textCell = new Button { BindingContext = viewModel }; textCell.BindCommand(static (ViewModel vm) => vm.Command); - BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandProperty, BindingMode.Default, viewModel); - Assert.That(BindingHelpers.GetBinding(textCell, TextCell.CommandParameterProperty), Is.Null); + BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.Default, viewModel); + Assert.That(BindingHelpers.GetBinding(textCell, Button.CommandParameterProperty), Is.Null); } [Test] @@ -67,7 +67,7 @@ public void BindCommandWithParameters() { ArgumentNullException.ThrowIfNull(viewModel); - var textCell = new TextCell + var textCell = new Button { BindingContext = viewModel }; @@ -78,8 +78,8 @@ public void BindCommandWithParameters() parameterGetter: static (ViewModel vm) => vm.Id, parameterBindingMode: BindingMode.OneWay); - BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandProperty, BindingMode.OneTime, viewModel); - BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandParameterProperty, BindingMode.OneWay, viewModel); + BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.OneTime, viewModel); + BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandParameterProperty, BindingMode.OneWay, viewModel); Assert.Multiple(() => { diff --git a/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs b/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs index b3a79554..53cd26da 100644 --- a/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs +++ b/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs @@ -15,11 +15,7 @@ public static class DefaultBindableProperties { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Border)}", Border.ContentProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(BoxView)}", BoxView.ColorProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Button)}", Button.CommandProperty }, - { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CarouselPage)}", Page.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CheckBox)}", CheckBox.IsCheckedProperty }, -#pragma warning disable CS0618 - { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ClickGestureRecognizer)}", ClickGestureRecognizer.CommandProperty }, -#pragma warning disable CS0618 { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CollectionView)}", CollectionView.ItemsSourceProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ContentPage)}", Page.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ContentPresenter)}", ContentPresenter.ContentProperty }, @@ -27,19 +23,27 @@ public static class DefaultBindableProperties { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(DatePicker)}", DatePicker.DateProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Editor)}", Editor.TextProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Entry)}", Entry.TextProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(EntryCell)}", EntryCell.TextProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(FileImageSource)}", FileImageSource.FileProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Frame)}", Frame.ContentProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(FlyoutPage)}", FlyoutPage.IsPresentedProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(GraphicsView)}", GraphicsView.DrawableProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(HtmlWebViewSource)}", HtmlWebViewSource.HtmlProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Image)}", Image.SourceProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageButton)}", ImageButton.CommandProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageCell)}", ImageCell.ImageSourceProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(IndicatorView)}", IndicatorView.ItemsSourceProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ItemsView)}", ItemsView.ItemsSourceProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Label)}", Label.TextProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ListView)}", ListView.ItemsSourceProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuFlyoutItem)}", MenuFlyoutItem.TextProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuFlyoutSubItem)}", MenuFlyoutSubItem.TextProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuItem)}", MenuItem.TextProperty }, @@ -65,14 +69,18 @@ public static class DefaultBindableProperties { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Switch)}", Switch.IsToggledProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwipeItemView)}", SwipeItemView.ContentProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwipeView)}", SwipeView.ContentProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwitchCell)}", SwitchCell.OnProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TabbedPage)}", Page.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableRoot)}", TableRoot.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableSection)}", TableSection.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableSectionBase)}", TableSectionBase.TitleProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TapGestureRecognizer)}", TapGestureRecognizer.CommandProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TemplatedPage)}", Page.TitleProperty }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TextCell)}", TextCell.TextProperty }, +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TemplatedView)}", TemplatedView.ControlTemplateProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TimePicker)}", TimePicker.TimeProperty }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ToolbarItem)}", ToolbarItem.CommandProperty }, @@ -85,10 +93,9 @@ public static class DefaultBindableProperties static readonly Dictionary bindableObjectTypeDefaultCommandAndParameterProperties = new() { // Key: full type name of BindableObject, Value: command property and corresponding commandParameter property { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Button)}", (Button.CommandProperty, Button.CommandParameterProperty) }, +#pragma warning disable CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TextCell)}", (TextCell.CommandProperty, TextCell.CommandParameterProperty) }, -#pragma warning disable CS0618 - { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ClickGestureRecognizer)}", (ClickGestureRecognizer.CommandProperty, ClickGestureRecognizer.CommandParameterProperty) }, -#pragma warning restore CS0618 +#pragma warning restore CS0618 // Type or member is obsolete { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageButton)}", (ImageButton.CommandProperty, ImageButton.CommandParameterProperty) }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuItem)}", (MenuItem.CommandProperty, MenuItem.CommandParameterProperty) }, { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(RefreshView)}", (RefreshView.CommandProperty, RefreshView.CommandParameterProperty) },