Skip to content

Commit 50aa971

Browse files
authored
Merge branch 'main' into FixWindowsMediaSourceDisposalBug
2 parents c8f9e18 + 514b577 commit 50aa971

File tree

146 files changed

+5355
-2864
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+5355
-2864
lines changed

.github/copilot-instructions.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
This document provides guidelines for using GitHub Copilot to contribute to the .NET MAUI Community Toolkit. It includes instructions on setting up your environment, writing code, and following best practices specific to .NET MAUI.
33

44
## Prerequisites
5-
1. Install the latest stable (.NET SDK)[https://dotnet.microsoft.com/en-us/download].
5+
1. Install the latest stable [.NET SDK](https://dotnet.microsoft.com/en-us/download).
66
2. Install .NET MAUI workloads (we recommend using Visual Studio installer).
77

88
## Setting Up GitHub Copilot
99
1. Ensure you have GitHub Copilot installed and enabled in Visual Studio.
10-
2. Familiarize yourself with the basic usage of GitHub Copilot by reviewing the (official documentation)[https://docs.github.com/en/copilot].
10+
2. Familiarize yourself with the basic usage of GitHub Copilot by reviewing the [official documentation](https://docs.github.com/en/copilot).
1111

1212
## Writing Code with GitHub Copilot
1313
### General Guidelines
@@ -17,15 +17,15 @@ This document provides guidelines for using GitHub Copilot to contribute to the
1717
### Specific to .NET MAUI
1818
* Ensure that any UI components or controls are compatible with .NET MAUI.
1919
* Avoid using Xamarin.Forms-specific code unless there is a direct .NET MAUI equivalent.
20-
* Follow the project's coding style and best practices as outlined in the (contributing)[https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md] document.
20+
* Follow the project's coding style and best practices as outlined in the [contributing](https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md) document.
2121

2222
## Best Practices
2323
* Use **Trace.WriteLine()** for debug logging instead of **Debug.WriteLine()**.
2424
* Include a **CancellationToken** as a parameter for methods returning **Task** or **ValueTask**.
2525
* Use **is** for null checking and type checking.
2626
* Use file-scoped namespaces to reduce code verbosity.
2727
* Avoid using the **!** null forgiving operator.
28-
** Follow naming conventions for enums and property names.
28+
* Follow naming conventions for enums and property names.
2929

3030
### Debug Logging
3131
* Always use `Trace.WriteLine()` instead of `Debug.WriteLine` for debug logging because `Debug.WriteLine` is removed by the compiler in Release builds
@@ -141,7 +141,7 @@ Read and follow our [Pull Request template](https://github.com/CommunityToolkit/
141141
4. Open a pull request and follow the [Pull Request template](https://github.com/CommunityToolkit/Maui/blob/main/.github/PULL_REQUEST_TEMPLATE.md).
142142

143143
## Additional Resources
144-
- (GitHub Copilot Documentation)[https://docs.github.com/en/copilot]
145-
- (.NET MAUI Documentation)[https://learn.microsoft.com/en-us/dotnet/maui/]
144+
* [GitHub Copilot Documentation](https://docs.github.com/en/copilot)
145+
* [.NET MAUI Documentation](https://learn.microsoft.com/en-us/dotnet/maui/)
146146

147-
By following these guidelines, you can effectively use GitHub Copilot to contribute to the .NET MAUI Community Toolkit. Thank you for your contributions!
147+
By following these guidelines, you can effectively use GitHub Copilot to contribute to the .NET MAUI Community Toolkit. Thank you for your contributions!

.github/workflows/dotnet-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ env:
2222
NugetPackageVersionCamera: '99.0.0-preview${{ github.run_number }}'
2323
NugetPackageVersionMediaElement: '99.0.0-preview${{ github.run_number }}'
2424
NugetPackageVersionMaps: '99.0.0-preview${{ github.run_number }}'
25-
TOOLKIT_NET_VERSION: '9.0.202'
25+
TOOLKIT_NET_VERSION: '9.0.300'
2626
LATEST_NET_VERSION: '9.0.x'
2727
PathToLibrarySolution: 'src/CommunityToolkit.Maui.sln'
2828
PathToSamplesSolution: 'samples/CommunityToolkit.Maui.Sample.sln'

Directory.Build.props

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<NuGetAuditMode>all</NuGetAuditMode>
1717

1818
<!-- MAUI Specific -->
19-
<MauiPackageVersion>9.0.60</MauiPackageVersion>
19+
<MauiPackageVersion>9.0.70</MauiPackageVersion>
2020
<NextMauiPackageVersion>10.0.0</NextMauiPackageVersion>
2121
<MauiStrictXamlCompilation>true</MauiStrictXamlCompilation>
2222
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
@@ -170,9 +170,11 @@
170170
xUnit3002: Classes which are JSON serializable should not be tested for their concrete type
171171
XC0045: Binding: Property not found
172172
XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any
173+
XC0618: Property, Property setter or BindableProperty "BackgroundColor" is deprecated
173174
IL2***: Trim Warnings
174175
IL3***: AOT Warnings
175-
RS2007: Analyzer release file 'AnalyzerReleases.Shipped.md' has a missing or invalid release header-->
176+
RS1038: Compiler extensions should be implemented in assemblies with compiler-provided references
177+
RS2007: Analyzer release file 'AnalyzerReleases.Shipped.md' has a missing or invalid release header -->
176178
<WarningsAsErrors>
177179
nullable,
178180
CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734,
@@ -182,7 +184,7 @@
182184
xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1048,xUnit1049,xUnit1050,xUnit1051,
183185
xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032,
184186
xUnit3000,xUnit3001,xUnit3002,
185-
XC0045,XC0103,
187+
XC0045,XC0103,XC0618,
186188
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
187189
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
188190
IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029,
@@ -197,7 +199,7 @@
197199
IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119,
198200
IL2120,IL2121,IL2122,
199201
IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056,
200-
RS2007
202+
RS1038,RS2007
201203
</WarningsAsErrors>
202204

203205
<!--

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "9.0.202",
3+
"version": "9.0.300",
44
"rollForward": "latestFeature",
55
"allowPrerelease": false
66
}

samples/CommunityToolkit.Maui.Sample/App.xaml

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,42 +10,34 @@
1010
</ResourceDictionary.MergedDictionaries>
1111

1212
<Style TargetType="{x:Type popups:ImplicitStylePopup}">
13-
<Setter Property="Size" Value="100,100" />
14-
<Setter Property="Color" Value="Red" />
15-
<Setter Property="HorizontalOptions" Value="Start" />
16-
<Setter Property="VerticalOptions" Value="Start" />
17-
<Setter Property="CanBeDismissedByTappingOutsideOfPopup" Value="True" />
13+
<Setter Property="WidthRequest" Value="100" />
14+
<Setter Property="HeightRequest" Value="100" />
15+
<Setter Property="BackgroundColor" Value="Red" />
1816
</Style>
1917

2018
<Style x:Key="ExplicitPopupStyle" TargetType="{x:Type popups:ExplicitStylePopup}">
21-
<Setter Property="Size" Value="200,100" />
22-
<Setter Property="Color" Value="Yellow" />
23-
<Setter Property="HorizontalOptions" Value="End" />
24-
<Setter Property="VerticalOptions" Value="Start" />
25-
<Setter Property="CanBeDismissedByTappingOutsideOfPopup" Value="True" />
19+
<Setter Property="WidthRequest" Value="200" />
20+
<Setter Property="HeightRequest" Value="100" />
21+
<Setter Property="BackgroundColor" Value="Yellow" />
2622
</Style>
2723

2824
<Style x:Key="BasePopupStyle" TargetType="{x:Type popups:StyleInheritancePopup}">
29-
<Setter Property="Size" Value="200,200" />
25+
<Setter Property="WidthRequest" Value="200" />
26+
<Setter Property="HeightRequest" Value="200" />
3027
</Style>
3128
<Style x:Key="InheritancePopupStyle" TargetType="{x:Type popups:StyleInheritancePopup}" BasedOn="{StaticResource BasePopupStyle}">
32-
<Setter Property="Color" Value="SkyBlue" />
33-
<Setter Property="HorizontalOptions" Value="End" />
34-
<Setter Property="VerticalOptions" Value="End" />
35-
<Setter Property="CanBeDismissedByTappingOutsideOfPopup" Value="True" />
29+
<Setter Property="BackgroundColor" Value="SkyBlue" />
3630
</Style>
3731

3832
<Style x:Key="DynamicBasePopupStyle" TargetType="{x:Type popups:DynamicStyleInheritancePopup}">
39-
<Setter Property="Size" Value="150,150" />
33+
<Setter Property="WidthRequest" Value="150" />
34+
<Setter Property="HeightRequest" Value="150" />
4035
</Style>
4136
<Style x:Key="DynamicInheritancePopupStyle1" TargetType="{x:Type popups:DynamicStyleInheritancePopup}" BasedOn="{StaticResource DynamicBasePopupStyle}">
42-
<Setter Property="Color" Value="Purple" />
43-
<Setter Property="VerticalOptions" Value="End" />
37+
<Setter Property="BackgroundColor" Value="Purple" />
4438
</Style>
4539
<Style x:Key="DynamicInheritancePopupStyle2" TargetType="{x:Type popups:DynamicStyleInheritancePopup}" BaseResourceKey="DynamicInheritancePopupStyle1">
46-
<Setter Property="Color" Value="Orange" />
47-
<Setter Property="HorizontalOptions" Value="End" />
48-
<Setter Property="CanBeDismissedByTappingOutsideOfPopup" Value="True" />
40+
<Setter Property="BackgroundColor" Value="Orange" />
4941
</Style>
5042

5143
</ResourceDictionary>

samples/CommunityToolkit.Maui.Sample/AppShell.xaml.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ public partial class AppShell : Shell
120120
CreateViewModelMapping<AvatarViewSizesPage, AvatarViewSizesViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
121121
CreateViewModelMapping<BasicMapsPage, BasicMapsViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
122122
CreateViewModelMapping<CameraViewPage, CameraViewViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
123-
CreateViewModelMapping<CustomSizeAndPositionPopupPage, CustomSizeAndPositionPopupViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
124123
CreateViewModelMapping<DrawingViewPage, DrawingViewViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
125124
CreateViewModelMapping<ExpanderPage, ExpanderViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
126125
CreateViewModelMapping<LazyViewPage, LazyViewViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
@@ -129,17 +128,16 @@ public partial class AppShell : Shell
129128
CreateViewModelMapping<MediaElementCarouselViewPage, MediaElementCarouselViewViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
130129
CreateViewModelMapping<MediaElementCollectionViewPage, MediaElementCollectionViewViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
131130
CreateViewModelMapping<MediaElementMultipleWindowsPage, MediaElementMultipleWindowsViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
132-
CreateViewModelMapping<MultiplePopupPage, MultiplePopupViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
133-
CreateViewModelMapping<PopupAnchorPage, PopupAnchorViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
131+
CreateViewModelMapping<SemanticOrderViewPage, SemanticOrderViewPageViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
132+
CreateViewModelMapping<PopupsPage, PopupsViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
134133
CreateViewModelMapping<PopupLayoutAlignmentPage, PopupLayoutAlignmentViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
135134
CreateViewModelMapping<PopupPositionPage, PopupPositionViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
136135
CreateViewModelMapping<PopupSizingIssuesPage, PopupSizingIssuesViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
136+
CreateViewModelMapping<ShowPopupInOnAppearingPage, ShowPopupInOnAppearingPageViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
137+
CreateViewModelMapping<StylePopupPage, StylePopupViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
137138
CreateViewModelMapping<RatingViewCsharpPage, RatingViewCsharpViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
138139
CreateViewModelMapping<RatingViewShowcasePage, RatingViewShowcaseViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
139140
CreateViewModelMapping<RatingViewXamlPage, RatingViewXamlViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
140-
CreateViewModelMapping<SemanticOrderViewPage, SemanticOrderViewPageViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
141-
CreateViewModelMapping<ShowPopupInOnAppearingPage, ShowPopupInOnAppearingPageViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
142-
CreateViewModelMapping<StylePopupPage, StylePopupViewModel, ViewsGalleryPage, ViewsGalleryViewModel>(),
143141

144142
// Add PlatformSpecific View Models
145143
CreateViewModelMapping<NavigationBarPage, NavigationBarAndroidViewModel, PlatformSpecificGalleryPage, PlatformSpecificGalleryViewModel>()

samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
<NoWarn>CsWinRT1028</NoWarn>
3636
</PropertyGroup>
3737

38-
<PropertyGroup Condition="'$(Configuration)' == 'Release'
39-
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'tizen'
40-
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'android'
41-
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'windows'">
38+
<PropertyGroup Condition="'$(Configuration)' == 'Release'
39+
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'tizen'
40+
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'android'
41+
AND $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) != 'windows'">
4242
<!-- Ahead-of-time compilation is not yet supported net8.0-tizen -->
4343
<!-- Cross-OS native compilation is not supported net8.0-android -->
4444
<!-- Only iOS + MacCatalyst support AOT in .NET 9 -->
@@ -64,10 +64,10 @@
6464
<MauiFont Include="Resources\Fonts\*" />
6565

6666
<PackageReference Include="Microsoft.Maui.Controls" Version="*" />
67-
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="5.1.0" />
67+
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="6.0.0" />
6868
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
69-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.4.0" />
70-
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.4" />
69+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.5.0" />
70+
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.5" />
7171
</ItemGroup>
7272

7373
<PropertyGroup>

samples/CommunityToolkit.Maui.Sample/MauiProgram.cs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using CommunityToolkit.Maui.Core;
44
using CommunityToolkit.Maui.Markup;
55
using CommunityToolkit.Maui.Media;
6-
using CommunityToolkit.Maui.Sample.Models;
76
using CommunityToolkit.Maui.Sample.Pages;
87
using CommunityToolkit.Maui.Sample.Pages.Alerts;
98
using CommunityToolkit.Maui.Sample.Pages.Behaviors;
@@ -124,7 +123,6 @@ public static MauiApp CreateMauiApp()
124123
.AddStandardResilienceHandler(static options => options.Retry = new MobileHttpRetryStrategyOptions());
125124

126125
builder.Services.AddSingleton<AppShell>();
127-
builder.Services.AddSingleton<PopupSizeConstants>();
128126

129127
RegisterViewsAndViewModels(builder.Services);
130128
RegisterEssentials(builder.Services);
@@ -249,7 +247,6 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
249247
// Add Views Pages + ViewModels
250248
services.AddTransientWithShellRoute<BasicMapsPage, BasicMapsViewModel>();
251249
services.AddTransientWithShellRoute<CameraViewPage, CameraViewViewModel>();
252-
services.AddTransientWithShellRoute<CustomSizeAndPositionPopupPage, CustomSizeAndPositionPopupViewModel>();
253250
services.AddTransientWithShellRoute<DrawingViewPage, DrawingViewViewModel>();
254251
services.AddTransientWithShellRoute<ExpanderPage, ExpanderViewModel>();
255252
services.AddTransientWithShellRoute<LazyViewPage, LazyViewViewModel>();
@@ -258,8 +255,7 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
258255
services.AddTransientWithShellRoute<MediaElementCarouselViewPage, MediaElementCarouselViewViewModel>();
259256
services.AddTransientWithShellRoute<MediaElementCollectionViewPage, MediaElementCollectionViewViewModel>();
260257
services.AddTransientWithShellRoute<MediaElementMultipleWindowsPage, MediaElementMultipleWindowsViewModel>();
261-
services.AddTransientWithShellRoute<MultiplePopupPage, MultiplePopupViewModel>();
262-
services.AddTransientWithShellRoute<PopupAnchorPage, PopupAnchorViewModel>();
258+
services.AddTransientWithShellRoute<PopupsPage, PopupsViewModel>();
263259
services.AddTransientWithShellRoute<PopupLayoutAlignmentPage, PopupLayoutAlignmentViewModel>();
264260
services.AddTransientWithShellRoute<PopupPositionPage, PopupPositionViewModel>();
265261
services.AddTransientWithShellRoute<RatingViewCsharpPage, RatingViewCsharpViewModel>();
@@ -271,7 +267,24 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
271267
services.AddTransientWithShellRoute<PopupSizingIssuesPage, PopupSizingIssuesViewModel>();
272268

273269
// Add Popups
270+
services.AddTransientPopup<ApplyToDerivedTypesPopup>();
271+
services.AddTransientPopup<ButtonPopup>();
274272
services.AddTransientPopup<CsharpBindingPopup, CsharpBindingPopupViewModel>();
273+
services.AddTransientPopup<DynamicStyleInheritancePopup>();
274+
services.AddTransientPopup<DynamicStylePopup>();
275+
services.AddTransientPopup<ExplicitStylePopup>();
276+
services.AddTransientPopup<ImplicitStylePopup>();
277+
services.AddTransientPopup<MultipleButtonPopup>();
278+
services.AddTransientPopup<NoOutsideTapDismissPopup>();
279+
services.AddTransientPopup<OpenedEventSimplePopup>();
280+
services.AddTransientPopup<PopupContentView, PopupContentViewModel>();
281+
services.AddTransientPopup<RedBlueBoxPopup>();
282+
services.AddTransientPopup<ReturnResultPopup>();
283+
services.AddTransientPopup<SimplePopup>();
284+
services.AddTransientPopup<StyleClassPopup>();
285+
services.AddTransientPopup<StyleInheritancePopup>();
286+
services.AddTransientPopup<ToggleSizePopup>();
287+
services.AddTransientPopup<TransparentPopup>();
275288
services.AddTransientPopup<UpdatingPopup, UpdatingPopupViewModel>();
276289
services.AddTransientPopup<XamlBindingPopup, XamlBindingPopupViewModel>();
277290
}

samples/CommunityToolkit.Maui.Sample/Models/PopupSize.cs

Lines changed: 0 additions & 22 deletions
This file was deleted.

samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsInRangeConverterPage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ public IsInRangeConverterPage(IsInRangeConverterViewModel viewModel) : base(view
296296
.Start().CenterVertical()
297297
.Bind(Entry.TextProperty,
298298
static (IsInRangeConverterViewModel vm) => vm.InputString,
299-
static (IsInRangeConverterViewModel vm, string text) => vm.InputString = text),
299+
static (IsInRangeConverterViewModel vm, string? text) => vm.InputString = text ?? string.Empty),
300300

301301
new ExampleLabel()
302302
.Row(Row.CharExample1).Column(Column.Input)

0 commit comments

Comments
 (0)