├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report_template.yml │ ├── config.yml │ └── open-a-new-feature-proposal.yml ├── PULL_REQUEST_TEMPLATE.md ├── copilot-instructions.md ├── dependabot.yml ├── policies │ └── resourceManagement.yml ├── prompts │ ├── dotnet │ │ ├── async.prompt.md │ │ ├── codestyle.prompt.md │ │ ├── maui │ │ │ ├── maui-controls.prompt.md │ │ │ ├── maui-memory-leaks.prompt.md │ │ │ └── mct-maui-controls.prompt.md │ │ └── testing.xunit.prompt.md │ └── prompts.prompt.md └── workflows │ ├── SignClientFileList.txt │ ├── benchmarks.yml │ ├── dotnet-build.yml │ ├── dotnet-format-daily.yml │ └── locker.yml ├── .gitignore ├── .runsettings ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Build.targets ├── LICENSE ├── README.md ├── azure-pipelines.yml ├── build ├── Sign-Package.ps1 ├── SignClientSettings.json ├── nuget.png └── workflow.sketch ├── global.json ├── samples ├── CommunityToolkit.Maui.Sample.sln └── CommunityToolkit.Maui.Sample │ ├── App.xaml │ ├── App.xaml.cs │ ├── AppShell.xaml │ ├── AppShell.xaml.cs │ ├── CommunityToolkit.Maui.Sample.csproj │ ├── Constants │ └── StreamingVideoUrls.cs │ ├── Converters │ ├── CompareDoubleToColorConverter.cs │ └── SecondsToStringConverter.cs │ ├── MauiProgram.cs │ ├── Models │ ├── AvatarModel.cs │ └── SectionModel.cs │ ├── Pages │ ├── Alerts │ │ ├── AlertsGalleryPage.cs │ │ ├── SnackbarPage.xaml │ │ ├── SnackbarPage.xaml.cs │ │ ├── ToastPage.xaml │ │ └── ToastPage.xaml.cs │ ├── Base │ │ ├── BaseGalleryPage.cs │ │ └── BasePage.cs │ ├── Behaviors │ │ ├── AnimationBehaviorPage.xaml │ │ ├── AnimationBehaviorPage.xaml.cs │ │ ├── BehaviorsGalleryPage.cs │ │ ├── CharactersValidationBehaviorPage.xaml │ │ ├── CharactersValidationBehaviorPage.xaml.cs │ │ ├── EmailValidationBehaviorPage.xaml │ │ ├── EmailValidationBehaviorPage.xaml.cs │ │ ├── EventToCommandBehaviorPage.xaml │ │ ├── EventToCommandBehaviorPage.xaml.cs │ │ ├── IconTintColorBehaviorPage.xaml │ │ ├── IconTintColorBehaviorPage.xaml.cs │ │ ├── MaskedBehaviorPage.xaml │ │ ├── MaskedBehaviorPage.xaml.cs │ │ ├── MaxLengthReachedBehaviorPage.xaml │ │ ├── MaxLengthReachedBehaviorPage.xaml.cs │ │ ├── MultiValidationBehaviorPage.xaml │ │ ├── MultiValidationBehaviorPage.xaml.cs │ │ ├── NumericValidationBehaviorPage.xaml │ │ ├── NumericValidationBehaviorPage.xaml.cs │ │ ├── ProgressBarAnimationBehaviorPage.xaml │ │ ├── ProgressBarAnimationBehaviorPage.xaml.cs │ │ ├── RequiredStringValidationBehaviorPage.xaml │ │ ├── RequiredStringValidationBehaviorPage.xaml.cs │ │ ├── SelectAllTextBehaviorPage.xaml │ │ ├── SelectAllTextBehaviorPage.xaml.cs │ │ ├── SetFocusOnEntryCompletedBehaviorPage.xaml │ │ ├── SetFocusOnEntryCompletedBehaviorPage.xaml.cs │ │ ├── StatusBarBehaviorPage.xaml │ │ ├── StatusBarBehaviorPage.xaml.cs │ │ ├── TextValidationBehaviorPage.xaml │ │ ├── TextValidationBehaviorPage.xaml.cs │ │ ├── TouchBehavior │ │ │ ├── TouchBehaviorCollectionViewMultipleSelectionPage.cs │ │ │ ├── TouchBehaviorPage.xaml │ │ │ └── TouchBehaviorPage.xaml.cs │ │ ├── UriValidationBehaviorPage.xaml │ │ ├── UriValidationBehaviorPage.xaml.cs │ │ ├── UserStoppedTypingBehaviorPage.xaml │ │ └── UserStoppedTypingBehaviorPage.xaml.cs │ ├── Converters │ │ ├── BoolToObjectConverterPage.xaml │ │ ├── BoolToObjectConverterPage.xaml.cs │ │ ├── ByteArrayToImageSourceConverterPage.xaml │ │ ├── ByteArrayToImageSourceConverterPage.xaml.cs │ │ ├── ColorsConverterPage.xaml │ │ ├── ColorsConverterPage.xaml.cs │ │ ├── CompareConverterPage.xaml │ │ ├── CompareConverterPage.xaml.cs │ │ ├── ConvertersGalleryPage.cs │ │ ├── DateTimeOffsetConverterPage.xaml │ │ ├── DateTimeOffsetConverterPage.xaml.cs │ │ ├── DoubleToIntConverterPage.xaml │ │ ├── DoubleToIntConverterPage.xaml.cs │ │ ├── EnumToBoolConverterPage.xaml │ │ ├── EnumToBoolConverterPage.xaml.cs │ │ ├── EnumToIntConverterPage.xaml │ │ ├── EnumToIntConverterPage.xaml.cs │ │ ├── ImageResourceConverterPage.xaml │ │ ├── ImageResourceConverterPage.xaml.cs │ │ ├── IndexToArrayItemConverterPage.xaml │ │ ├── IndexToArrayItemConverterPage.xaml.cs │ │ ├── IntToBoolConverterPage.xaml │ │ ├── IntToBoolConverterPage.xaml.cs │ │ ├── InvertedBoolConverterPage.xaml │ │ ├── InvertedBoolConverterPage.xaml.cs │ │ ├── IsEqualConverterPage.xaml │ │ ├── IsEqualConverterPage.xaml.cs │ │ ├── IsInRangeConverterPage.cs │ │ ├── IsListNotNullOrEmptyConverterPage.xaml │ │ ├── IsListNotNullOrEmptyConverterPage.xaml.cs │ │ ├── IsListNullOrEmptyConverterPage.xaml │ │ ├── IsListNullOrEmptyConverterPage.xaml.cs │ │ ├── IsNotEqualConverterPage.xaml │ │ ├── IsNotEqualConverterPage.xaml.cs │ │ ├── IsNotNullConverterPage.xaml │ │ ├── IsNotNullConverterPage.xaml.cs │ │ ├── IsNullConverterPage.xaml │ │ ├── IsNullConverterPage.xaml.cs │ │ ├── IsStringNotNullOrEmptyConverterPage.xaml │ │ ├── IsStringNotNullOrEmptyConverterPage.xaml.cs │ │ ├── IsStringNotNullOrWhiteSpaceConverterPage.xaml │ │ ├── IsStringNotNullOrWhiteSpaceConverterPage.xaml.cs │ │ ├── IsStringNullOrEmptyConverterPage.xaml │ │ ├── IsStringNullOrEmptyConverterPage.xaml.cs │ │ ├── IsStringNullOrWhiteSpaceConverterPage.xaml │ │ ├── IsStringNullOrWhiteSpaceConverterPage.xaml.cs │ │ ├── ItemTappedEventArgsConverterPage.xaml │ │ ├── ItemTappedEventArgsConverterPage.xaml.cs │ │ ├── ListToStringConverterPage.xaml │ │ ├── ListToStringConverterPage.xaml.cs │ │ ├── MathExpressionConverterPage.xaml │ │ ├── MathExpressionConverterPage.xaml.cs │ │ ├── MultiConverterPage.xaml │ │ ├── MultiConverterPage.xaml.cs │ │ ├── MultiMathExpressionConverterPage.xaml │ │ ├── MultiMathExpressionConverterPage.xaml.cs │ │ ├── SelectedItemEventArgsConverterPage.xaml │ │ ├── SelectedItemEventArgsConverterPage.xaml.cs │ │ ├── StateToBooleanConverterPage.xaml │ │ ├── StateToBooleanConverterPage.xaml.cs │ │ ├── StringToListConverterPage.xaml │ │ ├── StringToListConverterPage.xaml.cs │ │ ├── TextCaseConverterPage.xaml │ │ ├── TextCaseConverterPage.xaml.cs │ │ ├── VariableMultiValueConverterPage.xaml │ │ └── VariableMultiValueConverterPage.xaml.cs │ ├── Essentials │ │ ├── AppThemePage.xaml │ │ ├── AppThemePage.xaml.cs │ │ ├── BadgePage.xaml │ │ ├── BadgePage.xaml.cs │ │ ├── EssentialsGalleryPage.cs │ │ ├── FileSaverPage.xaml │ │ ├── FileSaverPage.xaml.cs │ │ ├── FolderPickerPage.xaml │ │ ├── FolderPickerPage.xaml.cs │ │ ├── OfflineSpeechToTextPage.xaml │ │ ├── OfflineSpeechToTextPage.xaml.cs │ │ ├── SpeechToTextPage.xaml │ │ └── SpeechToTextPage.xaml.cs │ ├── Extensions │ │ ├── ColorAnimationExtensionsPage.xaml │ │ ├── ColorAnimationExtensionsPage.xaml.cs │ │ ├── ExtensionsGalleryPage.cs │ │ ├── KeyboardExtensionsPage.xaml │ │ └── KeyboardExtensionsPage.xaml.cs │ ├── ImageSources │ │ ├── GravatarImageSourcePage.xaml │ │ ├── GravatarImageSourcePage.xaml.cs │ │ └── ImageSourcesGalleryPage.cs │ ├── Layouts │ │ ├── DockLayoutPage.xaml │ │ ├── DockLayoutPage.xaml.cs │ │ ├── LayoutsGalleryPage.cs │ │ ├── StateContainerPage.xaml │ │ ├── StateContainerPage.xaml.cs │ │ ├── UniformItemsLayoutPage.xaml │ │ └── UniformItemsLayoutPage.xaml.cs │ ├── PlatformSpecific │ │ ├── NavigationBarPage.xaml │ │ ├── NavigationBarPage.xaml.cs │ │ └── PlatformSpecificGalleryPage.cs │ ├── Views │ │ ├── AvatarView │ │ │ ├── AvatarViewBindablePropertiesPage.xaml │ │ │ ├── AvatarViewBindablePropertiesPage.xaml.cs │ │ │ ├── AvatarViewBordersPage.xaml │ │ │ ├── AvatarViewBordersPage.xaml.cs │ │ │ ├── AvatarViewColorsPage.xaml │ │ │ ├── AvatarViewColorsPage.xaml.cs │ │ │ ├── AvatarViewDayOfWeekPage.xaml │ │ │ ├── AvatarViewDayOfWeekPage.xaml.cs │ │ │ ├── AvatarViewGesturesPage.xaml │ │ │ ├── AvatarViewGesturesPage.xaml.cs │ │ │ ├── AvatarViewImagesPage.xaml │ │ │ ├── AvatarViewImagesPage.xaml.cs │ │ │ ├── AvatarViewKeyboardPage.xaml │ │ │ ├── AvatarViewKeyboardPage.xaml.cs │ │ │ ├── AvatarViewRatingPage.xaml │ │ │ ├── AvatarViewRatingPage.xaml.cs │ │ │ ├── AvatarViewShadowsPage.xaml │ │ │ ├── AvatarViewShadowsPage.xaml.cs │ │ │ ├── AvatarViewShapesPage.xaml │ │ │ ├── AvatarViewShapesPage.xaml.cs │ │ │ ├── AvatarViewSizesPage.xaml │ │ │ └── AvatarViewSizesPage.xaml.cs │ │ ├── CameraView │ │ │ ├── CameraViewPage.xaml │ │ │ ├── CameraViewPage.xaml.cs │ │ │ ├── ImageViewPage.xaml │ │ │ └── ImageViewPage.xaml.cs │ │ ├── DrawingViewPage.xaml │ │ ├── DrawingViewPage.xaml.cs │ │ ├── Expander │ │ │ ├── ExpanderPage.xaml │ │ │ ├── ExpanderPage.xaml.cs │ │ │ └── ExpanderPageCS.cs │ │ ├── LazyView │ │ │ ├── CustomLazyView.cs │ │ │ ├── LazyViewPage.xaml │ │ │ ├── LazyViewPage.xaml.cs │ │ │ ├── MyView.xaml │ │ │ ├── MyView.xaml.cs │ │ │ └── MyViewLazyView.cs │ │ ├── Maps │ │ │ ├── BasicMapsPage.xaml │ │ │ ├── BasicMapsPage.xaml.cs │ │ │ ├── MapsPinsPage.xaml │ │ │ └── MapsPinsPage.xaml.cs │ │ ├── MediaElement │ │ │ ├── MediaElementCarouselViewPage.xaml │ │ │ ├── MediaElementCarouselViewPage.xaml.cs │ │ │ ├── MediaElementCollectionViewPage.xaml │ │ │ ├── MediaElementCollectionViewPage.xaml.cs │ │ │ ├── MediaElementMultipleWindowsPage.cs │ │ │ ├── MediaElementPage.xaml │ │ │ └── MediaElementPage.xaml.cs │ │ ├── Popup │ │ │ ├── PopupLayoutAlignmentPage.xaml │ │ │ ├── PopupLayoutAlignmentPage.xaml.cs │ │ │ ├── PopupOnDisappearingPage.cs │ │ │ ├── PopupPositionPage.xaml │ │ │ ├── PopupPositionPage.xaml.cs │ │ │ ├── PopupSizingIssuesPage.xaml │ │ │ ├── PopupSizingIssuesPage.xaml.cs │ │ │ ├── PopupsPage.xaml │ │ │ ├── PopupsPage.xaml.cs │ │ │ ├── ShowPopupInOnAppearingPage.xaml │ │ │ ├── ShowPopupInOnAppearingPage.xaml.cs │ │ │ ├── StylePopupPage.xaml │ │ │ └── StylePopupPage.xaml.cs │ │ ├── RatingView │ │ │ ├── RatingViewCsharpPage.cs │ │ │ ├── RatingViewShowcasePage.xaml │ │ │ ├── RatingViewShowcasePage.xaml.cs │ │ │ ├── RatingViewXamlPage.xaml │ │ │ └── RatingViewXamlPage.xaml.cs │ │ ├── SemanticOrderView │ │ │ ├── SemanticOrderViewPage.xaml │ │ │ └── SemanticOrderViewPage.xaml.cs │ │ └── ViewsGalleryPage.cs │ └── WelcomePage.cs │ ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ ├── Resources │ │ │ └── values │ │ │ │ └── colors.xml │ │ └── SamsungBadgeProvider.cs │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Embedded │ │ ├── MCT.png │ │ └── XCT.png │ ├── Fonts │ │ ├── Font Awesome 6 Brands-Regular-400.otf │ │ ├── FontAwesomeIcons.cs │ │ └── FontFamilies.cs │ ├── Images │ │ ├── avatar_icon.png │ │ ├── button.png │ │ ├── button_pressed.png │ │ ├── dotnet_bot.svg │ │ └── shield.png │ ├── Raw │ │ ├── AndroidVideo.mp4 │ │ ├── AppleVideo.mp4 │ │ ├── WindowsVideo.mp4 │ │ └── dotnet_bot.png │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml │ ├── ViewModels │ ├── Alerts │ │ ├── AlertsGalleryViewModel.cs │ │ ├── SnackbarViewModel.cs │ │ └── ToastViewModel.cs │ ├── Base │ │ ├── BaseGalleryViewModel.cs │ │ └── BaseViewModel.cs │ ├── Behaviors │ │ ├── AnimationBehaviorViewModel.cs │ │ ├── BehaviorsGalleryViewModel.cs │ │ ├── CharactersValidationBehaviorViewModel.cs │ │ ├── EmailValidationBehaviorViewModel.cs │ │ ├── EventToCommandBehaviorViewModel.cs │ │ ├── IconTintColorBehaviorViewModel.cs │ │ ├── MaskedBehaviorViewModel.cs │ │ ├── MaxLengthReachedBehaviorViewModel.cs │ │ ├── MultiValidationBehaviorViewModel.cs │ │ ├── NumericValidationBehaviorViewModel.cs │ │ ├── ProgressBarAnimationBehaviorViewModel.cs │ │ ├── RequiredStringValidationBehaviorViewModel.cs │ │ ├── SelectAllTextBehaviorViewModel.cs │ │ ├── SetFocusOnEntryCompletedBehaviorViewModel.cs │ │ ├── StatusBarBehaviorViewModel.cs │ │ ├── TextValidationBehaviorViewModel.cs │ │ ├── TouchBehavior │ │ │ ├── TouchBehaviorCollectionViewMultipleSelectionViewModel.cs │ │ │ └── TouchBehaviorViewModel.cs │ │ ├── UriValidationBehaviorViewModel.cs │ │ └── UserStoppedTypingBehaviorViewModel.cs │ ├── Converters │ │ ├── BoolToObjectConverterViewModel.cs │ │ ├── ByteArrayToImageSourceConverterViewModel.cs │ │ ├── ColorsConverterViewModel.cs │ │ ├── CompareConverterViewModel.cs │ │ ├── ConvertersGalleryViewModel.cs │ │ ├── DateTimeOffsetConverterViewModel.cs │ │ ├── DoubleToIntConverterViewModel.cs │ │ ├── EnumToBoolConverterViewModel.cs │ │ ├── EnumToIntConverterViewModel.cs │ │ ├── ImageResourceConverterViewModel.cs │ │ ├── IndexToArrayItemConverterViewModel.cs │ │ ├── IntToBoolConverterViewModel.cs │ │ ├── InvertedBoolConverterViewModel.cs │ │ ├── IsEqualConverterViewModel.cs │ │ ├── IsInRangeConverterViewModel.cs │ │ ├── IsListNotNullOrEmptyConverterViewModel.cs │ │ ├── IsListNullOrEmptyConverterViewModel.cs │ │ ├── IsNotEqualConverterViewModel.cs │ │ ├── IsNotNullConverterViewModel.cs │ │ ├── IsNullConverterViewModel.cs │ │ ├── IsStringNotNullOrEmptyConverterViewModel.cs │ │ ├── IsStringNotNullOrWhiteSpaceConverterViewModel.cs │ │ ├── IsStringNullOrEmptyConverterViewModel.cs │ │ ├── IsStringNullOrWhiteSpaceConverterViewModel.cs │ │ ├── ItemTappedEventArgsConverterViewModel.cs │ │ ├── ListToStringConverterViewModel.cs │ │ ├── MathExpressionConverterViewModel.cs │ │ ├── MultiConverterViewModel.cs │ │ ├── MultiMathExpressionConverterViewModel.cs │ │ ├── SelectedItemEventArgsConverterViewModel.cs │ │ ├── StateToBooleanConverterViewModel.cs │ │ ├── StringToListConverterViewModel.cs │ │ ├── TextCaseConverterViewModel.cs │ │ └── VariableMultiValueConverterViewModel.cs │ ├── Essentials │ │ ├── AppThemeViewModel.cs │ │ ├── BadgeViewModel.cs │ │ ├── EssentialsGalleryViewModel.cs │ │ ├── FileSaverViewModel.cs │ │ ├── FolderPickerViewModel.cs │ │ ├── OfflineSpeechToTextViewModel.cs │ │ └── SpeechToTextViewModel.cs │ ├── Extensions │ │ ├── ColorAnimationExtensionsViewModel.cs │ │ ├── ExtensionsGalleryViewModel.cs │ │ └── KeyboardExtensionsViewModel.cs │ ├── ImageSources │ │ ├── GravatarImageSourceViewModel.cs │ │ └── ImageSourcesGalleryViewModel.cs │ ├── Layouts │ │ ├── DockLayoutViewModel.cs │ │ ├── LayoutsGalleryViewModel.cs │ │ ├── StateContainerViewModel.cs │ │ └── UniformItemsLayoutViewModel.cs │ ├── PlatformSpecific │ │ ├── NavigationBarAndroidViewModel.cs │ │ └── PlatformSpecificGalleryViewModel.cs │ └── Views │ │ ├── AvatarView │ │ ├── AvatarViewBindablePropertiesViewModel.cs │ │ ├── AvatarViewBordersViewModel.cs │ │ ├── AvatarViewColorsViewModel.cs │ │ ├── AvatarViewDayOfWeekViewModel.cs │ │ ├── AvatarViewGesturesPage.cs │ │ ├── AvatarViewImagesViewModel.cs │ │ ├── AvatarViewKeyboardViewModel.cs │ │ ├── AvatarViewRatingViewModel.cs │ │ ├── AvatarViewShadowsViewModel.cs │ │ ├── AvatarViewShapesViewModel.cs │ │ └── AvatarViewSizesViewModel.cs │ │ ├── CameraView │ │ └── CameraViewViewModel.cs │ │ ├── DrawingViewViewModel.cs │ │ ├── ExpanderViewModel.cs │ │ ├── LazyView │ │ └── LazyViewViewModel.cs │ │ ├── Maps │ │ ├── MapsPinsViewModel.cs │ │ └── MapsViewModel.cs │ │ ├── MediaElement │ │ ├── MediaElementCarouselViewViewModel.cs │ │ ├── MediaElementCollectionViewViewModel.cs │ │ ├── MediaElementMultipleWindowsViewModel.cs │ │ └── MediaElementViewModel.cs │ │ ├── Popup │ │ ├── CsharpBindingPopupViewModel.cs │ │ ├── PopupContentViewModel.cs │ │ ├── PopupLayoutAlignmentViewModel.cs │ │ ├── PopupPositionViewModel.cs │ │ ├── PopupSizingIssuesViewModel.cs │ │ ├── PopupsViewModel.cs │ │ ├── ShowPopupInOnAppearingPageViewModel.cs │ │ ├── StylePopupViewModel.cs │ │ ├── UpdatingPopupViewModel.cs │ │ └── XamlBindingPopupViewModel.cs │ │ ├── RatingView │ │ ├── RatingViewShowcaseViewModel.cs │ │ └── RatingViewViewModel.cs │ │ ├── SemanticOrderView │ │ └── SemanticOrderViewPageViewModel.cs │ │ └── ViewsGalleryViewModel.cs │ └── Views │ ├── NullableBoolComponentWithLabel.xaml │ ├── NullableBoolComponentWithLabel.xaml.cs │ └── Popups │ ├── ApplyToDerivedTypesPopup.xaml │ ├── ApplyToDerivedTypesPopup.xaml.cs │ ├── ButtonPopup.xaml │ ├── ButtonPopup.xaml.cs │ ├── CsharpBindingPopup.cs │ ├── DynamicStyleInheritancePopup.xaml │ ├── DynamicStyleInheritancePopup.xaml.cs │ ├── DynamicStylePopup.xaml │ ├── DynamicStylePopup.xaml.cs │ ├── ExplicitStylePopup.xaml │ ├── ExplicitStylePopup.xaml.cs │ ├── ImplicitStylePopup.xaml │ ├── ImplicitStylePopup.xaml.cs │ ├── MultipleButtonPopup.xaml │ ├── MultipleButtonPopup.xaml.cs │ ├── NoOutsideTapDismissPopup.xaml │ ├── NoOutsideTapDismissPopup.xaml.cs │ ├── OpenedEventSimplePopup.xaml │ ├── OpenedEventSimplePopup.xaml.cs │ ├── PopupContentView.xaml │ ├── PopupContentView.xaml.cs │ ├── RedBlueBoxPopup.xaml │ ├── RedBlueBoxPopup.xaml.cs │ ├── ReturnResultPopup.xaml │ ├── ReturnResultPopup.xaml.cs │ ├── SimplePopup.xaml │ ├── SimplePopup.xaml.cs │ ├── StyleClassPopup.xaml │ ├── StyleClassPopup.xaml.cs │ ├── StyleInheritancePopup.xaml │ ├── StyleInheritancePopup.xaml.cs │ ├── ToggleSizePopup.xaml │ ├── ToggleSizePopup.xaml.cs │ ├── TransparentPopup.xaml │ ├── TransparentPopup.xaml.cs │ ├── UpdatingPopup.xaml │ ├── UpdatingPopup.xaml.cs │ ├── XamlBindingPopup.xaml │ └── XamlBindingPopup.xaml.cs └── src ├── CommunityToolkit.Maui.Analyzers.Benchmarks ├── CommunityToolkit.Maui.Analyzers.Benchmarks.csproj ├── Program.cs ├── UseMauiCommunityToolkitAnalyzerBenchmarks.cs ├── UseMauiCommunityToolkitCameraAnalyzerBenchmarks.cs └── UseMauiCommunityToolkitMediaElementInitializationAnalyzerBenchmarks.cs ├── CommunityToolkit.Maui.Analyzers.CodeFixes ├── CodeFixResources.Designer.cs ├── CodeFixResources.resx ├── CommunityToolkit.Maui.Analyzers.CodeFixes.csproj ├── Properties │ ├── AssemblyInfo.cs │ └── launchSettings.json └── UseCommunityToolkitInitializationAnalyzerCodeFixProvider.cs ├── CommunityToolkit.Maui.Analyzers.UnitTests ├── CommunityToolkit.Maui.Analyzers.UnitTests.csproj ├── UseCommunityToolkitCameraInitializationAnalyzerTests.cs ├── UseCommunityToolkitInitializationAnalyzerTests.cs ├── UseCommunityToolkitMediaElementInitializationAnalyzerTests.cs ├── Verifiers │ ├── CSharpAnalyzerVerifier`1+Test.cs │ ├── CSharpAnalyzerVerifier`1.cs │ ├── CSharpCodeFixVerifier`2+Test.cs │ ├── CSharpCodeFixVerifier`2.cs │ └── CSharpVerifierHelper.cs └── xunit.runner.json ├── CommunityToolkit.Maui.Analyzers ├── AnalyzerReleases.Shipped.md ├── AnalyzerReleases.Unshipped.md ├── CommunityToolkit.Maui.Analyzers.csproj ├── MaximumRatingRangeAnalyzer.cs ├── Properties │ ├── AssemblyInfo.cs │ └── launchSettings.json ├── Resources.Designer.cs ├── Resources.resx └── UseCommunityToolkitInitializationAnalyzer.cs ├── CommunityToolkit.Maui.Camera.Analyzers.CodeFixes ├── CodeFixResources.Designer.cs ├── CodeFixResources.resx ├── CommunityToolkit.Maui.Camera.Analyzers.CodeFixes.csproj ├── Properties │ └── AssemblyInfo.cs └── UseCommunityToolkitCameraViewInitializationAnalyzerCodeFixProvider.cs ├── CommunityToolkit.Maui.Camera.Analyzers ├── AnalyzerReleases.Shipped.md ├── AnalyzerReleases.Unshipped.md ├── CommunityToolkit.Maui.Camera.Analyzers.csproj ├── Properties │ └── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx └── UseCommunityToolkitCameraInitializationAnalyzer.cs ├── CommunityToolkit.Maui.Camera ├── AppBuilderExtensions.shared.cs ├── AssemblyInfo.shared.cs ├── CameraInfo.shared.cs ├── CameraManager.android.cs ├── CameraManager.macios.cs ├── CameraManager.net.cs ├── CameraManager.shared.cs ├── CameraManager.tizen.cs ├── CameraManager.windows.cs ├── CommunityToolkit.Maui.Camera.csproj ├── CommunityToolkit.Maui.Camera.nuspec ├── Extensions │ ├── CameraView.net.cs │ ├── CameraViewExtensions.android.cs │ ├── CameraViewExtensions.macios.cs │ ├── CameraViewExtensions.tizen.cs │ └── CameraViewExtensions.windows.cs ├── GlobalUsings.shared.cs ├── Handlers │ └── CameraViewHandler.shared.cs ├── Interfaces │ ├── IAsynchronouseHandler.cs │ ├── ICameraProvider.shared.cs │ └── ICameraView.shared.cs ├── Primitives │ ├── CameraException.shared.cs │ ├── CameraFlashMode.shared.cs │ ├── CameraPosition.shared.cs │ ├── CameraViewDefaults.shared.cs │ ├── MediaCaptureFailedEventArgs.shared.cs │ └── MediaCapturedEventArgs.shared.cs ├── Providers │ ├── CameraProvider.android.cs │ ├── CameraProvider.macios.cs │ ├── CameraProvider.net.cs │ ├── CameraProvider.shared.cs │ ├── CameraProvider.tizen.cs │ └── CameraProvider.windows.cs ├── Views │ └── CameraView.shared.cs ├── linker.xml └── readme.txt ├── CommunityToolkit.Maui.Core ├── .editorconfig ├── AppBuilderExtensions.shared.cs ├── CommunityToolkit.Maui.Core.csproj ├── Essentials │ ├── AndroidRequestCode.android.cs │ ├── AndroidStorageConstants.android.cs │ ├── Badge │ │ ├── Android │ │ │ ├── BadgeFactory.android.cs │ │ │ ├── BadgeImplementation.android.cs │ │ │ ├── DefaultBadgeProvider.android.cs │ │ │ └── IBadgeProvider.android.cs │ │ ├── Badge.shared.cs │ │ ├── BadgeImplementation.macios.cs │ │ ├── BadgeImplementation.net.cs │ │ ├── BadgeImplementation.tizen.cs │ │ ├── BadgeImplementation.windows.cs │ │ └── IBadge.shared.cs │ ├── FileFolderDialog.tizen.cs │ ├── FileFolderDialogLocalization.tizen.cs │ ├── FileSaver │ │ ├── FileSaveException.shared.cs │ │ ├── FileSaver.shared.cs │ │ ├── FileSaverImplementation.android.cs │ │ ├── FileSaverImplementation.macios.cs │ │ ├── FileSaverImplementation.net.cs │ │ ├── FileSaverImplementation.shared.cs │ │ ├── FileSaverImplementation.tizen.cs │ │ ├── FileSaverImplementation.windows.cs │ │ ├── FileSaverResult.shared.cs │ │ └── IFileSaver.shared.cs │ ├── FolderPicker │ │ ├── FolderPicker.shared.cs │ │ ├── FolderPickerException.shared.cs │ │ ├── FolderPickerImplementation.android.cs │ │ ├── FolderPickerImplementation.macios.cs │ │ ├── FolderPickerImplementation.net.cs │ │ ├── FolderPickerImplementation.shared.cs │ │ ├── FolderPickerImplementation.tizen.cs │ │ ├── FolderPickerImplementation.windows.cs │ │ ├── FolderPickerResult.shared.cs │ │ └── IFolderPicker.shared.cs │ └── SpeechToText │ │ ├── Events │ │ ├── SpeechToTextRecognitionResultCompletedEventArgs.cs │ │ ├── SpeechToTextRecognitionResultUpdatedEventArgs.cs │ │ └── SpeechToTextStateChangedEventArgs.cs │ │ ├── ISpeechToText.shared.cs │ │ ├── OfflineSharedSpeechToTextImplementation.macios.cs │ │ ├── OfflineSpeechToText.shared.cs │ │ ├── OfflineSpeechToTextImplementation.android.cs │ │ ├── OfflineSpeechToTextImplementation.ios.cs │ │ ├── OfflineSpeechToTextImplementation.macos.cs │ │ ├── OfflineSpeechToTextImplementation.net.cs │ │ ├── OfflineSpeechToTextImplementation.shared.cs │ │ ├── OfflineSpeechToTextImplementation.tizen.cs │ │ ├── OfflineSpeechToTextImplementation.windows.cs │ │ ├── SharedSpeechToTextImplementation.macios.cs │ │ ├── SpeechToText.shared.cs │ │ ├── SpeechToTextImplementation.android.cs │ │ ├── SpeechToTextImplementation.ios.cs │ │ ├── SpeechToTextImplementation.macos.cs │ │ ├── SpeechToTextImplementation.net.cs │ │ ├── SpeechToTextImplementation.shared.cs │ │ ├── SpeechToTextImplementation.tizen.cs │ │ ├── SpeechToTextImplementation.windows.cs │ │ ├── SpeechToTextOptions.cs │ │ ├── SpeechToTextResult.shared.cs │ │ └── SpeechToTextState.shared.cs ├── Extensions │ ├── AndroidPathExtensions.android.cs │ ├── BrushExtensions.windows.cs │ ├── ColorConversionExtensions.shared.cs │ ├── MathExtensions.shared.cs │ ├── NullableExtensions.cs │ ├── ObservableCollectionExtensions.shared.cs │ ├── UIViewExtensions.macios.cs │ └── WindowExtensions.android.cs ├── GlobalUsings.shared.cs ├── Handlers │ ├── DrawingView │ │ ├── DrawingLineAdapter.shared.cs │ │ ├── DrawingViewHandler.net.cs │ │ ├── DrawingViewHandler.shared.cs │ │ ├── IDrawingLineAdapter.shared.cs │ │ └── IDrawingViewHandler.shared.cs │ ├── Popup │ │ ├── PopUpHandler.android.cs │ │ ├── PopUpHandler.windows.cs │ │ ├── PopupHandler.macios.cs │ │ ├── PopupHandler.net.cs │ │ ├── PopupHandler.shared.cs │ │ └── PopupHandler.tizen.cs │ └── SemanticOrderView │ │ ├── SemanticOrderViewHandler.android.cs │ │ ├── SemanticOrderViewHandler.macios.cs │ │ ├── SemanticOrderViewHandler.net.cs │ │ ├── SemanticOrderViewHandler.shared.cs │ │ ├── SemanticOrderViewHandler.tizen.cs │ │ └── SemanticOrderViewHandler.windows.cs ├── Interfaces │ ├── IAlert.shared.cs │ ├── IAsynchronousHandler.cs │ ├── IAvatarView.shared.cs │ ├── IDialogFragmentService.android.cs │ ├── IDockLayout.shared.cs │ ├── IDrawingLine.shared.cs │ ├── IDrawingView.shared.cs │ ├── IExpander.shared.cs │ ├── IPopup.shared.cs │ ├── IPopupResult.shared.cs │ ├── IRatingView.shared.cs │ ├── ISemanticOrderView.shared.cs │ ├── ISnackbar.shared.cs │ ├── IToast.shared.cs │ └── IUniformItemsLayout.shared.cs ├── Layouts │ ├── DockLayoutManager.shared.cs │ └── UniformItemsLayoutManager.shared.cs ├── Options.cs ├── Platform │ ├── KeyboardExtensions │ │ ├── KeyboardExtensions.android.cs │ │ ├── KeyboardExtensions.ios.cs │ │ ├── KeyboardExtensions.macos.cs │ │ ├── KeyboardExtensions.net.cs │ │ ├── KeyboardExtensions.shared.cs │ │ ├── KeyboardExtensions.tizen.cs │ │ └── KeyboardExtensions.windows.cs │ └── StatusBar │ │ ├── StatusBar.android.cs │ │ ├── StatusBar.ios.cs │ │ ├── StatusBar.macos.cs │ │ ├── StatusBar.net.cs │ │ ├── StatusBar.shared.cs │ │ ├── StatusBar.tizen.cs │ │ └── StatusBar.windows.cs ├── Primitives │ ├── AlertViewVisualOptions.macios.cs │ ├── Defaults │ │ ├── AlertDefaults.shared.cs │ │ ├── AvatarViewDefaults.shared.cs │ │ ├── DrawingViewDefaults.shared.cs │ │ ├── ImageTouchBehaviorDefaults.shared.cs │ │ ├── RatingViewDefaults.shared.cs │ │ └── TouchBehaviorDefaults.shared.cs │ ├── DockPosition.shared.cs │ ├── DrawingLineCompletedEventArgs.shared.cs │ ├── DrawingLineStartedEventArgs.shared.cs │ ├── DrawingViewOutputOption.shared.cs │ ├── ExpandDirection.shared.cs │ ├── ExpandedChangedEventArgs.shared.cs │ ├── Folder.shared.cs │ ├── HoverState.shared.cs │ ├── HoverStateChangedEventArgs.shared.cs │ ├── HoverStatus.shared.cs │ ├── HoverStatusChangedEventArgs.shared.cs │ ├── LongPressCompletedEventArgs.shared.cs │ ├── MathOperator.shared.cs │ ├── MauiDrawingLineCompletedEventArgs.shared.cs │ ├── MauiDrawingStartedEventArgs.shared.cs │ ├── MauiOnDrawingEventArgs.shared.cs │ ├── NavigationBarStyle.cs │ ├── PointDrawnEventArgs.shared.cs │ ├── RatingChangedEventArgs.shared.cs │ ├── RatingViewFillOption.cs │ ├── RatingViewShapes.shared.cs │ ├── SnackbarOptions.shared.cs │ ├── StatusBarStyle.shared.cs │ ├── TouchCompletedEventArgs.shared.cs │ ├── TouchInteractionStatus.shared.cs │ ├── TouchInteractionStatusChangedEventArgs.shared.cs │ ├── TouchState.shared.cs │ ├── TouchStateChangedEventArgs.shared.cs │ ├── TouchStatus.shared.cs │ └── TouchStatusChangedEventArgs.shared.cs ├── Services │ ├── DialogFragmentService.android.cs │ ├── DialogFragmentService.shared.cs │ └── FragmentLifecycleManager.android.cs ├── Views │ ├── Alert │ │ ├── Alert.macios.cs │ │ └── AlertView.macios.cs │ ├── DrawingView │ │ ├── DrawingLine.shared.cs │ │ ├── PlatformView │ │ │ ├── MauiDrawingLine.shared.cs │ │ │ ├── MauiDrawingView.android.cs │ │ │ ├── MauiDrawingView.macios.cs │ │ │ ├── MauiDrawingView.net.cs │ │ │ ├── MauiDrawingView.shared.cs │ │ │ ├── MauiDrawingView.tizen.cs │ │ │ ├── MauiDrawingView.windows.cs │ │ │ └── MauiDrawingViewExtensions.shared.cs │ │ └── Service │ │ │ ├── DrawingViewService.android.cs │ │ │ ├── DrawingViewService.macios.cs │ │ │ ├── DrawingViewService.net.cs │ │ │ ├── DrawingViewService.shared.cs │ │ │ ├── DrawingViewService.tizen.cs │ │ │ └── DrawingViewService.windows.cs │ ├── PaddedButton.macios.cs │ ├── PaddedLabel.macios.cs │ ├── Popup │ │ ├── MauiPopup.android.cs │ │ ├── MauiPopup.macios.cs │ │ ├── MauiPopup.tizen.cs │ │ ├── PopupExtensions.android.cs │ │ ├── PopupExtensions.macios.cs │ │ ├── PopupExtensions.windows.cs │ │ └── PopupOverlay.windows.cs │ ├── RoundedView.macios.cs │ ├── SemanticOrderView │ │ ├── MauiSemanticOrderView.android.cs │ │ ├── MauiSemanticOrderView.macios.cs │ │ ├── MauiSemanticOrderView.tizen.cs │ │ └── MauiSemanticOrderView.windows.cs │ ├── Snackbar │ │ └── PlatformSnackbar.macios.cs │ └── Toast │ │ └── PlatformToast.macios.cs └── readme.txt ├── CommunityToolkit.Maui.Maps ├── AppBuilderExtensions.cs ├── CommunityToolkit.Maui.Maps.csproj ├── Handler │ └── Map │ │ ├── Bounds.shared.cs │ │ ├── Center.shared.cs │ │ ├── EventIdentifier.shared.cs │ │ ├── EventMessage.shared.cs │ │ ├── InfoWindow.shared.cs │ │ ├── MapHandler.Windows.cs │ │ └── SerializerContext.shared.cs └── ReadMe.txt ├── CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes ├── CodeFixResources.Designer.cs ├── CodeFixResources.resx ├── CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes.csproj ├── Properties │ └── AssemblyInfo.cs └── UseCommunityToolkitMediaElementInitializationAnalyzerCodeFixProvider.cs ├── CommunityToolkit.Maui.MediaElement.Analyzers ├── AnalyzerReleases.Shipped.md ├── AnalyzerReleases.Unshipped.md ├── CommunityToolkit.Maui.MediaElement.Analyzers.csproj ├── Properties │ └── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx └── UseCommunityToolkitMediaElementInitializationAnalyzer.cs ├── CommunityToolkit.Maui.MediaElement ├── AppBuilderExtensions.shared.cs ├── AssemblyInfo.shared.cs ├── CommunityToolkit.Maui.MediaElement.csproj ├── Converters │ ├── FileMediaSourceConverter.shared.cs │ └── MediaSourceConverter.shared.cs ├── Extensions │ ├── ElementExtensions.shared.cs │ └── PageExtensions.shared.cs ├── Handlers │ ├── MediaElementHandler.android.cs │ ├── MediaElementHandler.macios.cs │ ├── MediaElementHandler.net.cs │ ├── MediaElementHandler.shared.cs │ ├── MediaElementHandler.tizen.cs │ └── MediaElementHandler.windows.cs ├── Interfaces │ ├── IAsynchronousMediaElementHandler.shared.cs │ └── IMediaElement.shared.cs ├── MediaElement.shared.cs ├── MediaElementOptions.shared.cs ├── MediaSource │ ├── FileMediaSource.shared.cs │ ├── MediaSource.shared.cs │ ├── ResourceMediaSource.shared.cs │ └── UriMediaSource.shared.cs ├── Platforms │ └── Android │ │ └── Resources │ │ └── layout │ │ └── textureview.xml ├── Primitives │ ├── AndroidViewType.shared.cs │ ├── CustomTransportControls.windows.cs │ ├── MediaElementState.shared.cs │ ├── MediaFailedEventArgs.shared.cs │ ├── MediaPositionChangedEventArgs.shared.cs │ ├── MediaStateChangedEventArgs.shared.cs │ ├── Metadata.macios.cs │ ├── Metadata.windows.cs │ ├── PlayerViewChangedEventArgs.android.cs │ └── SeekRequestedEventArgs.shared.cs ├── ResourceDictionary.windows.xaml ├── Services │ ├── BoundServiceBinder.android.cs │ ├── BoundServiceConnection.android.cs │ ├── MediaControlsService.android.cs │ └── SafeFireAndForgetExtensions.shared.cs ├── Views │ ├── MauiMediaElement.android.cs │ ├── MauiMediaElement.macios.cs │ ├── MauiMediaElement.tizen.cs │ ├── MauiMediaElement.windows.cs │ ├── MediaManager.android.cs │ ├── MediaManager.macios.cs │ ├── MediaManager.shared.cs │ ├── MediaManager.tizen.cs │ ├── MediaManager.windows.cs │ └── TizenPlayer.tizen.cs └── readme.txt ├── CommunityToolkit.Maui.SourceGenerators.Internal ├── AnalyzerReleases.Shipped.md ├── AnalyzerReleases.Unshipped.md ├── BindablePropertyAttributeSourceGenerator.cs ├── CommunityToolkit.Maui.SourceGenerators.Internal.csproj ├── Helpers │ ├── AttributeExtensions.cs │ ├── EquatableArray{T}.cs │ └── HashCode.cs ├── IsExternalInit.cs └── Models │ └── Records.cs ├── CommunityToolkit.Maui.SourceGenerators ├── AnalyzerReleases.Shipped.md ├── AnalyzerReleases.Unshipped.md ├── CommunityToolkit.Maui.SourceGenerators.csproj ├── Diagnostics │ └── TextColorToDiagnostic.cs ├── Extensions │ ├── CompilationExtensions.cs │ └── NamespaceSymbolExtensions.cs ├── Generators │ └── TextColorToGenerator.cs ├── IsExternalInit.cs ├── Properties │ └── launchSettings.json └── Services │ └── SourceStringService.cs ├── CommunityToolkit.Maui.UnitTests ├── Alerts │ ├── SnackbarTests.cs │ └── ToastTests.cs ├── Animations │ └── FadeAnimationTests.cs ├── BaseHandlerTest.cs ├── BaseTest.cs ├── Behaviors │ ├── AnimationBehaviorTests.cs │ ├── BaseBehaviorTest.cs │ ├── BaseBehaviorTests.cs │ ├── CharactersValidationBehaviorTests.cs │ ├── EmailValidationBehaviorTests.cs │ ├── EventToCommandBehaviorGenericTests.cs │ ├── EventToCommandBehaviorTests.cs │ ├── GestureManagerTests.cs │ ├── IconTintColorBehaviorTests.cs │ ├── ImageTouchBehaviorTests.cs │ ├── ImpliedOrderGridBehaviorTests.cs │ ├── MaskedBehaviorTests.cs │ ├── MaxLengthReachedBehaviorTests.cs │ ├── MultiValidationBehaviorTests.cs │ ├── NumericValidationBehaviorTests.cs │ ├── ProgressBarAnimationBehaviorTests.cs │ ├── RequiredStringValidationBehaviorTests.cs │ ├── SetFocusOnEntryCompletedTests.cs │ ├── StatusBarBehaviorTests.cs │ ├── TextValidationBehaviorTests.cs │ ├── TouchBehaviorTests.cs │ ├── UriValidationBehaviorTests.cs │ ├── UserStoppedTypingBehaviorTests.cs │ └── ValidationBehaviorTests.cs ├── CommunityToolkit.Maui.UnitTests.csproj ├── Converters │ ├── BaseConverterOneWayTests.cs │ ├── BaseConverterTest.cs │ ├── BaseConverterTests.cs │ ├── BoolToObjectConverterTests.cs │ ├── ByteArrayToImageSourceConverterTests.cs │ ├── ColorToBlackOrWhiteConverterTests.cs │ ├── ColorToByteAlphaConverterTests.cs │ ├── ColorToByteBlueConverterTests.cs │ ├── ColorToByteGreenConverterTests.cs │ ├── ColorToByteRedConverterTests.cs │ ├── ColorToCmykStringConverterTests.cs │ ├── ColorToCmykaStringConverterTests.cs │ ├── ColorToColorForTextConverterTests.cs │ ├── ColorToDegreeHueConverterTests.cs │ ├── ColorToGrayScaleColorConverterTests.cs │ ├── ColorToHexArgbStringConverterTests.cs │ ├── ColorToHexRgbStringConverterTests.cs │ ├── ColorToHexRgbaStringConverterTests.cs │ ├── ColorToHslStringConverterTests.cs │ ├── ColorToHslaStringConverterTests.cs │ ├── ColorToInverseColorConverterTests.cs │ ├── ColorToPercentBlackKeyConverterTests.cs │ ├── ColorToPercentCyanConverterTests.cs │ ├── ColorToPercentMagentaConverterTests.cs │ ├── ColorToPercentYellowConverterTests.cs │ ├── ColorToRgbStringConverterTests.cs │ ├── ColorToRgbaStringConverterTests.cs │ ├── CompareConverterTests.cs │ ├── DateTimeOffsetConverterTests.cs │ ├── DoubleToIntConverterTests.cs │ ├── EnumToBoolConverterTests.cs │ ├── EnumToIntConverterTests.cs │ ├── ImageResourceConverterTests.cs │ ├── IndexToArrayItemConverterTests.cs │ ├── IntToBoolConverterTests.cs │ ├── InvertedBoolConverterTests.cs │ ├── IsEqualConverterTests.cs │ ├── IsInRangeConverterTests.cs │ ├── IsListNotNullOrEmptyConverterTests.cs │ ├── IsListNullOrEmptyConverterTests.cs │ ├── IsNotEqualConverterTests.cs │ ├── IsNotNullConverterTests.cs │ ├── IsNullConverterTests.cs │ ├── IsStringNotNullOrEmptyConverterTests.cs │ ├── IsStringNotNullOrWhiteSpaceConverterTests.cs │ ├── IsStringNullOrEmptyConverterTests.cs │ ├── IsStringNullOrWhiteSpaceConverterTests.cs │ ├── ItemTappedEventArgsConverterTests.cs │ ├── ListToStringConverterTests.cs │ ├── MathExpressionConverterTests.cs │ ├── MultiConverterTests.cs │ ├── SelectedItemEventArgsConverterTests.cs │ ├── StateToBoolConverterTests.cs │ ├── StringToListConverterTests.cs │ ├── TextCaseConverterTests.cs │ ├── TimeSpanToSecondsConverterTests.cs │ └── VariableMultiValueConverterTests.cs ├── Essentials │ ├── AppThemeTests.cs │ ├── BadgeTests.cs │ ├── FileSaverTests.cs │ ├── FolderPickerTests.cs │ └── SpeechToTextTests.cs ├── Extensions │ ├── AppBuilderExtensionsTests.cs │ ├── BackgroundColorToTests.cs │ ├── ColorConversionExtensionsTests.cs │ ├── MathExtensionsTests.cs │ ├── PopupExtensionsTests.cs │ ├── ServiceCollectionExtensionsTests.cs │ └── TextColorToTests.cs ├── GlobalUsings.cs ├── ImageSources │ └── GravatarImageSource │ │ └── GravatarImageSourceTests.cs ├── Layouts │ ├── DockLayoutTests.cs │ ├── StateContainerTests.cs │ └── UniformItemsLayoutTests.cs ├── Mocks │ ├── AnimationExtensions.cs │ ├── BadgeImplementationMock.cs │ ├── FileSaverImplementationMock.cs │ ├── FolderPickerImplementationMock.cs │ ├── HandlersContextStub.cs │ ├── MockAppInfo.cs │ ├── MockApplication.cs │ ├── MockBehavior.cs │ ├── MockCameraProvider.cs │ ├── MockConverter.cs │ ├── MockDispatcher.cs │ ├── MockDispatcherProvider.cs │ ├── MockDrawingViewHandler.cs │ ├── MockOneWayConverter.cs │ ├── MockPage.cs │ ├── MockPageHandler.cs │ ├── MockPageRouteFactory.cs │ ├── MockPageViewModel.cs │ ├── MockResourceManager.cs │ ├── MockResourcesProvider.cs │ ├── MockSemanticOrderViewHandler.cs │ ├── MockShell.cs │ ├── MockValueConverter.cs │ ├── MockViewHandler.cs │ ├── MockWindowHandler.cs │ └── SpeechToTextImplementationMock.cs ├── Resources │ └── dotnet-bot.png ├── Services │ └── PopupServiceTests.cs ├── Views │ ├── AvatarView │ │ ├── AvatarViewImageTests.cs │ │ ├── AvatarViewInterfaceTests.cs │ │ └── AvatarViewTests.cs │ ├── CameraView │ │ └── CameraViewTests.cs │ ├── DrawingView │ │ ├── DrawingLineAdapterTests.cs │ │ ├── DrawingLineCompletedEventArgsTests.cs │ │ ├── DrawingLineTests.cs │ │ ├── DrawingViewTests.cs │ │ ├── MauiDrawingLineCompletedEventArgsTests.cs │ │ ├── MauiDrawingLineTests.cs │ │ ├── MauiDrawingViewExtensionsTests.cs │ │ └── MauiDrawingViewTests.cs │ ├── Expander │ │ ├── ExpandedChangedEventArgsTests.cs │ │ └── ExpanderTests.cs │ ├── LazyView │ │ └── LazyViewTests.cs │ ├── MediaElement │ │ ├── MediaElementTests.cs │ │ ├── MediaSourceConverterTests.cs │ │ ├── MediaSourceTests.cs │ │ └── ParentWindowTests.cs │ ├── Popup │ │ ├── PopupOptionsTests.cs │ │ ├── PopupPageTests.cs │ │ ├── PopupResultTests.cs │ │ └── PopupTests.cs │ ├── RatingView │ │ └── RatingViewTests.cs │ └── SemanticOrderView │ │ └── SemanticOrderViewTests.cs └── xunit.runner.json ├── CommunityToolkit.Maui.sln └── CommunityToolkit.Maui ├── .editorconfig ├── Alerts ├── Snackbar │ ├── Snackbar.android.cs │ ├── Snackbar.macios.cs │ ├── Snackbar.net.cs │ ├── Snackbar.shared.cs │ ├── Snackbar.tizen.cs │ └── Snackbar.windows.cs └── Toast │ ├── Toast.android.cs │ ├── Toast.macios.cs │ ├── Toast.net.cs │ ├── Toast.shared.cs │ ├── Toast.tizen.cs │ └── Toast.windows.cs ├── Animations ├── BaseAnimation.shared.cs └── FadeAnimation.shared.cs ├── AppBuilderExtensions.shared.cs ├── AssemblyInfo.shared.cs ├── Behaviors ├── AnimationBehavior.shared.cs ├── AttachedBehaviors │ └── SetFocusOnEntryCompletedBehavior.shared.cs ├── BaseBehavior.shared.cs ├── EventToCommandBehavior.shared.cs ├── EventToCommandBehaviorGeneric.shared.cs ├── ICommunityToolkitBehavior.shared.cs ├── ImpliedOrderGridBehavior.shared.cs ├── MaskedBehavior.shared.cs ├── MaxLengthReachedBehavior.shared.cs ├── MaxLengthReachedEventArgs.shared.cs ├── PlatformBehaviors │ ├── BasePlatformBehavior.shared.cs │ ├── IconTintColor │ │ ├── IconTintColorBehavior.android.cs │ │ ├── IconTintColorBehavior.macios.cs │ │ ├── IconTintColorBehavior.shared.cs │ │ └── IconTintColorBehavior.windows.cs │ ├── ImageTouch │ │ ├── ImageTouchBehavior.android.cs │ │ ├── ImageTouchBehavior.macios.cs │ │ ├── ImageTouchBehavior.shared.cs │ │ └── ImageTouchBehavior.windows.cs │ ├── SelectAllText │ │ ├── SelectAllTextBehavior.android.cs │ │ ├── SelectAllTextBehavior.macios.cs │ │ ├── SelectAllTextBehavior.tizen.cs │ │ └── SelectAllTextBehavior.windows.cs │ ├── StatusBar │ │ └── StatusBarBehavior.shared.cs │ └── Touch │ │ ├── GestureManager.shared.cs │ │ ├── TouchBehavior.android.cs │ │ ├── TouchBehavior.macios.cs │ │ ├── TouchBehavior.methods.shared.cs │ │ ├── TouchBehavior.shared.cs │ │ └── TouchBehavior.windows.cs ├── ProgressBarAnimationBehavior.shared.cs ├── UserStoppedTypingBehavior.shared.cs └── Validators │ ├── CharactersValidationBehavior.shared.cs │ ├── EmailValidationBehavior.shared.cs │ ├── MultiValidationBehavior.shared.cs │ ├── NumericValidationBehavior.shared.cs │ ├── RequiredStringValidationBehavior.shared.cs │ ├── TextValidationBehavior.shared.cs │ ├── UriValidationBehavior.shared.cs │ └── ValidationBehavior.shared.cs ├── CommunityToolkit.Maui.csproj ├── Converters ├── BaseConverter.shared.cs ├── BaseConverterOneWay.shared.cs ├── BoolToObjectConverter.shared.cs ├── ByteArrayToImageSourceConverter.shared.cs ├── ColorToColorConverters.shared.cs ├── ColorToComponentConverter.shared.cs ├── ColorToStringConverter.shared.cs ├── CompareConverter.shared.cs ├── DateTimeOffsetConverter.shared.cs ├── DoubleToIntConverter.shared.cs ├── EnumToBoolConverter.shared.cs ├── EnumToIntConverter.shared.cs ├── ICommunityToolkitMultiValueConverter.shared.cs ├── ICommunityToolkitValueConverter.shared.cs ├── ImageResourceConverter.shared.cs ├── IndexToArrayItemConverter.shared.cs ├── IntToBoolConverter.shared.cs ├── InvertedBoolConverter.shared.cs ├── IsEqualConverter.shared.cs ├── IsInRangeConverter.shared.cs ├── IsListNotNullOrEmptyConverter.shared.cs ├── IsListNullOrEmptyConverter.shared.cs ├── IsNotEqualConverter.shared.cs ├── IsNotNullConverter.shared.cs ├── IsNullConverter.shared.cs ├── IsStringNotNullOrEmptyConverter.shared.cs ├── IsStringNotNullOrWhiteSpaceConverter.cs ├── IsStringNullOrEmptyConverter.shared.cs ├── IsStringNullOrWhiteSpaceConverter.shared.cs ├── ItemTappedEventArgsConverter.shared.cs ├── ListToStringConverter.shared.cs ├── MathExpressionConverter │ ├── MathExpression.shared.cs │ ├── MathExpressionConverter.shared.cs │ └── MultiMathExpressionConverter.shared.cs ├── MultiConverter.shared.cs ├── MultiConverterParameter.shared.cs ├── SelectedItemEventArgsConverter.cs ├── StateToBooleanConverter.shared.cs ├── StringToListConverter.shared.cs ├── TextCaseConverter.shared.cs ├── TimeSpanToSecondsConverter.shared.cs └── VariableMultiValueConverter.shared.cs ├── Essentials └── AppTheme │ ├── AppThemeColor.shared.cs │ └── AppThemeObject.shared.cs ├── Extensions ├── AppThemeObjectExtensions.shared.cs ├── AppThemeResourceExtension.shared.cs ├── ColorAnimationExtensions.shared.cs ├── CryptographyExtensions.shared.cs ├── HttpClientExtensions.shared.cs ├── MultiValueConverterExtension.shared.cs ├── PopupExtensions.shared.cs ├── PropertyChangedEventArgsExtensions.shared.cs ├── SafeFireAndForgotExtensions.shared.cs ├── ServiceCollectionExtensions.shared.cs ├── UIFontExtensions.macios.cs ├── ValueConverterExtension.shared.cs └── VisualElementExtensions.cs ├── ImageSources └── GravatarImageSource.shared.cs ├── Interfaces ├── IPopupOptions.shared.cs └── IPopupService.shared.cs ├── Layouts ├── DockLayout.shared.cs ├── StateContainer │ ├── StateContainer.shared.cs │ ├── StateContainerController.shared.cs │ └── StateView.shared.cs └── UniformItemsLayout.shared.cs ├── Options.cs ├── PlatformConfiguration └── AndroidSpecific │ ├── NavigationBar.android.cs │ └── NavigationBar.cs ├── Primitives ├── Defaults │ ├── PopupDefaults.shared.cs │ └── PopupOptionsDefaults.shared.cs └── PopupResult.shared.cs ├── ReadMe.txt ├── Services └── PopupService.shared.cs └── Views ├── AvatarView.shared.cs ├── DrawingView └── DrawingView.shared.cs ├── Expander ├── Expander.shared.cs └── Expander.windows.cs ├── LazyView └── LazyView.shared.cs ├── Popup ├── Popup.shared.cs ├── PopupOptions.shared.cs └── PopupPage.shared.cs ├── RatingView ├── RatingView.PathShapes.shared.cs └── RatingView.shared.cs ├── SemanticOrderView └── SemanticOrderView.shared.cs └── WrapperControl.windows.cs /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Bug Report - Xamarin.CommunityToolkit.MauiCompat 4 | url: https://github.com/xamarin/XamarinCommunityToolkit/issues/new?assignees=&labels=bug%2C+unverified%2C+maui-compat&template=maui_compat_bug_report_template.md&title=%5BBug%5D+%5BMauiCompat%5D+ 5 | about: Issues for Xamarin.CommunityToolkit.MauiCompat and Xamarin.CommunityToolkit.Markup.MauiCompat are filed in the the Xamarin Community Toolkit repository 6 | - name: Propose a New Feature or Ask a Question 7 | url: https://github.com/communitytoolkit/maui/discussions/new 8 | about: Starting a discussion is the first step in creating a new feature proposal 9 | 10 | -------------------------------------------------------------------------------- /.github/prompts/prompts.prompt.md: -------------------------------------------------------------------------------- 1 | # Prompt Instructions 2 | 3 | Include these prompt instructions if their link's name is called. 4 | 5 | - [MAUI Controls](dotnet/maui/maui-controls.prompt.md) 6 | - [MAUI Memory Leaks](dotnet/maui/maui-memory-leaks.prompt.md) 7 | - [Async Await](dotnet/async.prompt.md) 8 | - [Code Style](dotnet/codestyle.prompt.md) 9 | - [MCT Controls](dotnet/maui/mct-maui-controls.prompt.md) 10 | - [Testing using xUnit](dotnet/testing.xunit.prompt.md) -------------------------------------------------------------------------------- /.github/workflows/SignClientFileList.txt: -------------------------------------------------------------------------------- 1 | **/CommunityToolkit.* -------------------------------------------------------------------------------- /.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | 8 | 9 | 10 | 11 | cobertura 12 | true 13 | false 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /build/SignClientSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "SignClient": { 3 | "AzureAd": { 4 | "AADInstance": "https://login.microsoftonline.com/", 5 | "ClientId": "c248d68a-ba6f-4aa9-8a68-71fe872063f8", 6 | "TenantId": "16076fdc-fcc1-4a15-b1ca-32c9a255900e" 7 | }, 8 | "Service": { 9 | "Url": "https://codesign.dotnetfoundation.org/", 10 | "ResourceId": "https://SignService/3c30251f-36f3-490b-a955-520addb85001" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /build/nuget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/build/nuget.png -------------------------------------------------------------------------------- /build/workflow.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/build/workflow.sketch -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "9.0.300", 4 | "rollForward": "latestFeature", 5 | "allowPrerelease": false 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Application = Microsoft.Maui.Controls.Application; 2 | 3 | namespace CommunityToolkit.Maui.Sample; 4 | 5 | public partial class App : Application 6 | { 7 | readonly AppShell appShell; 8 | 9 | public App(AppShell appShell) 10 | { 11 | InitializeComponent(); 12 | 13 | this.appShell = appShell; 14 | } 15 | 16 | protected override Window CreateWindow(IActivationState? activationState) => new(appShell); 17 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Constants/StreamingVideoUrls.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Constants; 2 | 3 | static class StreamingVideoUrls 4 | { 5 | public const string BuckBunny = "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"; 6 | public const string ElephantsDream = "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4"; 7 | public const string Sintel = "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/Sintel.mp4"; 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Converters/CompareDoubleToColorConverter.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Converters; 4 | 5 | /// 6 | /// Compares a double value against the ComparingValue property 7 | /// and returns a based on the comparison. 8 | /// 9 | [AcceptEmptyServiceProvider] 10 | public sealed partial class CompareDoubleToColorConverter : CompareConverter 11 | { 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Alerts/AlertsGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Alerts; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Alerts; 4 | 5 | public partial class AlertsGalleryPage(IDeviceInfo deviceInfo, AlertsGalleryViewModel alertsGalleryViewModel) : BaseGalleryPage("Alerts", deviceInfo, alertsGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/CharactersValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class CharactersValidationBehaviorPage : BasePage 6 | { 7 | public CharactersValidationBehaviorPage(CharactersValidationBehaviorViewModel charactersValidationBehaviorViewModel) 8 | : base(charactersValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | protected override void OnAppearing() 13 | { 14 | base.OnAppearing(); 15 | 16 | CharacterTypePicker.SelectedIndex = 3; 17 | } 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/EmailValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class EmailValidationBehaviorPage : BasePage 6 | { 7 | public EmailValidationBehaviorPage(EmailValidationBehaviorViewModel emailValidationBehaviorViewModel) 8 | : base(emailValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/EventToCommandBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class EventToCommandBehaviorPage : BasePage 6 | { 7 | public EventToCommandBehaviorPage(EventToCommandBehaviorViewModel eventToCommandBehaviorViewModel) 8 | : base(eventToCommandBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/MaskedBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class MaskedBehaviorPage : BasePage 6 | { 7 | public MaskedBehaviorPage(MaskedBehaviorViewModel maskedBehaviorViewModel) 8 | : base(maskedBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/MaxLengthReachedBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Behaviors; 2 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 3 | 4 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 5 | 6 | partial class MaxLengthReachedBehaviorPage : BasePage 7 | { 8 | public MaxLengthReachedBehaviorPage(MaxLengthReachedBehaviorViewModel maxLengthReachedBehaviorViewModel) 9 | : base(maxLengthReachedBehaviorViewModel) 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | void MaxLengthReachedBehavior_MaxLengthReached(object? sender, MaxLengthReachedEventArgs e) 15 | { 16 | NextEntry.Focus(); 17 | } 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/MultiValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class MultiValidationBehaviorPage : BasePage 6 | { 7 | public MultiValidationBehaviorPage(MultiValidationBehaviorViewModel multiValidationBehaviorViewModel) 8 | : base(multiValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/RequiredStringValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class RequiredStringValidationBehaviorPage : BasePage 6 | { 7 | public RequiredStringValidationBehaviorPage(RequiredStringValidationBehaviorViewModel requiredStringValidationBehaviorViewModel) 8 | : base(requiredStringValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/SelectAllTextBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class SelectAllTextBehaviorPage : BasePage 6 | { 7 | public SelectAllTextBehaviorPage(SelectAllTextBehaviorViewModel selectAllTextBehaviorViewModel) 8 | : base(selectAllTextBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/SetFocusOnEntryCompletedBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class SetFocusOnEntryCompletedBehaviorPage : BasePage 6 | { 7 | public SetFocusOnEntryCompletedBehaviorPage(SetFocusOnEntryCompletedBehaviorViewModel setFocusOnEntryCompletedBehaviorViewModel) 8 | : base(setFocusOnEntryCompletedBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/TextValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class TextValidationBehaviorPage : BasePage 6 | { 7 | public TextValidationBehaviorPage(TextValidationBehaviorViewModel textValidationBehaviorViewModel) 8 | : base(textValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/TouchBehavior/TouchBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 3 | 4 | public partial class TouchBehaviorPage : BasePage 5 | { 6 | public TouchBehaviorPage(TouchBehaviorViewModel viewModel) 7 | : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/UriValidationBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class UriValidationBehaviorPage : BasePage 6 | { 7 | public UriValidationBehaviorPage(UriValidationBehaviorViewModel uriValidationBehaviorViewModel) 8 | : base(uriValidationBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Behaviors/UserStoppedTypingBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Behaviors; 4 | 5 | public partial class UserStoppedTypingBehaviorPage : BasePage 6 | { 7 | public UserStoppedTypingBehaviorPage(UserStoppedTypingBehaviorViewModel userStoppedTypingBehaviorViewModel) 8 | : base(userStoppedTypingBehaviorViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/BoolToObjectConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | using Button = Microsoft.Maui.Controls.Button; 3 | 4 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 5 | 6 | public partial class BoolToObjectConverterPage : BasePage 7 | { 8 | public BoolToObjectConverterPage(BoolToObjectConverterViewModel boolToObjectConverterViewModel) 9 | : base(boolToObjectConverterViewModel) 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | void OnButtonClicked(object? sender, EventArgs args) 15 | { 16 | ArgumentNullException.ThrowIfNull(sender); 17 | 18 | var button = (Button)sender; 19 | 20 | Ellipse.Fill = new SolidColorBrush(button.BackgroundColor); 21 | } 22 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/CompareConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class CompareConverterPage : BasePage 6 | { 7 | public CompareConverterPage(CompareConverterViewModel compareConverterViewModel) 8 | : base(compareConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/ConvertersGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class ConvertersGalleryPage(IDeviceInfo deviceInfo, ConvertersGalleryViewModel convertersGalleryViewModel) : BaseGalleryPage("Converters", deviceInfo, convertersGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/DateTimeOffsetConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class DateTimeOffsetConverterPage : BasePage 6 | { 7 | public DateTimeOffsetConverterPage(DateTimeOffsetConverterViewModel dateTimeOffsetConverterViewModel) 8 | : base(dateTimeOffsetConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/DoubleToIntConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class DoubleToIntConverterPage : BasePage 6 | { 7 | public DoubleToIntConverterPage(DoubleToIntConverterViewModel doubleToIntConverterViewModel) 8 | : base(doubleToIntConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/EnumToBoolConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class EnumToBoolConverterPage : BasePage 6 | { 7 | public EnumToBoolConverterPage(EnumToBoolConverterViewModel enumToBoolConverterViewModel) 8 | : base(enumToBoolConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/EnumToIntConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class EnumToIntConverterPage : BasePage 6 | { 7 | public EnumToIntConverterPage(EnumToIntConverterViewModel enumToIntConverterViewModel) 8 | : base(enumToIntConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/ImageResourceConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class ImageResourceConverterPage : BasePage 6 | { 7 | public ImageResourceConverterPage(ImageResourceConverterViewModel imageResourceConverterViewModel) 8 | : base(imageResourceConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IndexToArrayItemConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IndexToArrayItemConverterPage : BasePage 6 | { 7 | public IndexToArrayItemConverterPage(IndexToArrayItemConverterViewModel indexToArrayItemConverterViewModel) 8 | : base(indexToArrayItemConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IntToBoolConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IntToBoolConverterPage : BasePage 6 | { 7 | public IntToBoolConverterPage(IntToBoolConverterViewModel intToBoolConverterViewModel) 8 | : base(intToBoolConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/InvertedBoolConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class InvertedBoolConverterPage : BasePage 6 | { 7 | public InvertedBoolConverterPage(InvertedBoolConverterViewModel invertedBoolConverterViewModel) 8 | : base(invertedBoolConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsEqualConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsEqualConverterPage : BasePage 6 | { 7 | public IsEqualConverterPage(IsEqualConverterViewModel equalConverterViewModel) 8 | : base(equalConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsListNotNullOrEmptyConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsListNotNullOrEmptyConverterPage : BasePage 6 | { 7 | public IsListNotNullOrEmptyConverterPage(IsListNotNullOrEmptyConverterViewModel isListNotNullOrEmptyConverterViewModel) 8 | : base(isListNotNullOrEmptyConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsListNullOrEmptyConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsListNullOrEmptyConverterPage : BasePage 6 | { 7 | public IsListNullOrEmptyConverterPage(IsListNullOrEmptyConverterViewModel isListNullOrEmptyConverterViewModel) 8 | : base(isListNullOrEmptyConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsNotEqualConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsNotEqualConverterPage : BasePage 6 | { 7 | public IsNotEqualConverterPage(IsNotEqualConverterViewModel notEqualConverterViewModel) 8 | : base(notEqualConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsNotNullConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsNotNullConverterPage : BasePage 6 | { 7 | public IsNotNullConverterPage(IsNotNullConverterViewModel isNotNullConverterViewModel) 8 | : base(isNotNullConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsNullConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsNullConverterPage : BasePage 6 | { 7 | public IsNullConverterPage(IsNullConverterViewModel isNullConverterViewModel) 8 | : base(isNullConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsStringNotNullOrEmptyConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsStringNotNullOrEmptyConverterPage : BasePage 6 | { 7 | public IsStringNotNullOrEmptyConverterPage(IsStringNotNullOrEmptyConverterViewModel isStringNotNullOrEmptyConverterViewModel) 8 | : base(isStringNotNullOrEmptyConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsStringNotNullOrWhiteSpaceConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsStringNotNullOrWhiteSpaceConverterPage : BasePage 6 | { 7 | public IsStringNotNullOrWhiteSpaceConverterPage(IsStringNotNullOrWhiteSpaceConverterViewModel isStringNotNullOrWhiteSpaceConverterViewModel) 8 | : base(isStringNotNullOrWhiteSpaceConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsStringNullOrEmptyConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsStringNullOrEmptyConverterPage : BasePage 6 | { 7 | public IsStringNullOrEmptyConverterPage(IsStringNullOrEmptyConverterViewModel isStringNullOrEmptyConverterViewModel) 8 | : base(isStringNullOrEmptyConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/IsStringNullOrWhiteSpaceConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class IsStringNullOrWhiteSpaceConverterPage : BasePage 6 | { 7 | public IsStringNullOrWhiteSpaceConverterPage(IsStringNullOrWhiteSpaceConverterViewModel isStringNullOrWhiteSpaceConverterViewModel) 8 | : base(isStringNullOrWhiteSpaceConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/ItemTappedEventArgsConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class ItemTappedEventArgsConverterPage : BasePage 6 | { 7 | public ItemTappedEventArgsConverterPage(ItemTappedEventArgsConverterViewModel itemTappedEventArgsViewModel) 8 | : base(itemTappedEventArgsViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/ListToStringConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class ListToStringConverterPage : BasePage 6 | { 7 | public ListToStringConverterPage(ListToStringConverterViewModel listToStringConverterViewModel) 8 | : base(listToStringConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/MathExpressionConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class MathExpressionConverterPage : BasePage 6 | { 7 | public MathExpressionConverterPage(MathExpressionConverterViewModel mathExpressionConverterViewModel) 8 | : base(mathExpressionConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/MultiConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class MultiConverterPage : BasePage 6 | { 7 | public MultiConverterPage(MultiConverterViewModel multiConverterViewModel) 8 | : base(multiConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/MultiMathExpressionConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class MultiMathExpressionConverterPage : BasePage 6 | { 7 | public MultiMathExpressionConverterPage(MultiMathExpressionConverterViewModel mathExpressionConverterViewModel) 8 | : base(mathExpressionConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/SelectedItemEventArgsConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class SelectedItemEventArgsConverterPage : BasePage 6 | { 7 | public SelectedItemEventArgsConverterPage(SelectedItemEventArgsConverterViewModel selectedItemEventArgsConverterViewModel) 8 | : base(selectedItemEventArgsConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/StateToBooleanConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.Pages; 2 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 3 | 4 | namespace CommunityToolkit.Maui.Sample; 5 | 6 | public partial class StateToBooleanConverterPage : BasePage 7 | { 8 | public StateToBooleanConverterPage(StateToBooleanConverterViewModel stateToBooleanConverterViewModel) 9 | : base(stateToBooleanConverterViewModel) 10 | { 11 | InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/StringToListConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Converters; 2 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 3 | 4 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 5 | 6 | public partial class StringToListConverterPage : BasePage 7 | { 8 | public StringToListConverterPage(StringToListConverterViewModel stringToListConverterViewModel) 9 | : base(stringToListConverterViewModel) 10 | { 11 | Resources.Add(nameof(StringToListConverter), new StringToListConverter 12 | { 13 | SplitOptions = StringSplitOptions.RemoveEmptyEntries, 14 | Separators = [",", ".", ";"] 15 | }); 16 | 17 | InitializeComponent(); 18 | } 19 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/TextCaseConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class TextCaseConverterPage : BasePage 6 | { 7 | public TextCaseConverterPage(TextCaseConverterViewModel textCaseConverterViewModel) 8 | : base(textCaseConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Converters/VariableMultiValueConverterPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Converters; 4 | 5 | public partial class VariableMultiValueConverterPage : BasePage 6 | { 7 | public VariableMultiValueConverterPage(VariableMultiValueConverterViewModel variableMultiValueConverterViewModel) 8 | : base(variableMultiValueConverterViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/AppThemePage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class AppThemePage : BasePage 6 | { 7 | public AppThemePage(AppThemeViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | 12 | void Switch_Toggled(object sender, ToggledEventArgs e) 13 | { 14 | if (Application.Current is not null) 15 | { 16 | Application.Current.UserAppTheme = Application.Current.RequestedTheme is AppTheme.Dark 17 | ? AppTheme.Light 18 | : AppTheme.Dark; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/BadgePage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class BadgePage : BasePage 6 | { 7 | public BadgePage(BadgeViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/EssentialsGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class EssentialsGalleryPage(IDeviceInfo deviceInfo, EssentialsGalleryViewModel essentialsGalleryViewModel) : BaseGalleryPage("Essentials", deviceInfo, essentialsGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/FileSaverPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class FileSaverPage : BasePage 6 | { 7 | public FileSaverPage(FileSaverViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/FolderPickerPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class FolderPickerPage : BasePage 6 | { 7 | public FolderPickerPage(FolderPickerViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Essentials/OfflineSpeechToTextPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Essentials; 4 | 5 | public partial class OfflineSpeechToTextPage : BasePage 6 | { 7 | public OfflineSpeechToTextPage(OfflineSpeechToTextViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Extensions/ExtensionsGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Extensions; 4 | 5 | public partial class ExtensionsGalleryPage(IDeviceInfo deviceInfo, ExtensionsGalleryViewModel extensionsGalleryViewModel) : BaseGalleryPage("Extensions", deviceInfo, extensionsGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/ImageSources/GravatarImageSourcePage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Pages.ImageSources; 2 | 3 | using CommunityToolkit.Maui.Sample.ViewModels.ImageSources; 4 | 5 | public partial class GravatarImageSourcePage : BasePage 6 | { 7 | public GravatarImageSourcePage(GravatarImageSourceViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | 11 | Padding = new Thickness(Padding.Left, 0, Padding.Right, 0); 12 | } 13 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/ImageSources/ImageSourcesGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.ImageSources; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.ImageSources; 4 | 5 | public partial class ImageSourcesGalleryPage(IDeviceInfo deviceInfo, ImageSourcesGalleryViewModel imageSourcesGalleryViewModel) : BaseGalleryPage("Image Sources", deviceInfo, imageSourcesGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Layouts/DockLayoutPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Layouts; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Layouts; 4 | 5 | public partial class DockLayoutPage : BasePage 6 | { 7 | public DockLayoutPage(DockLayoutViewModel dockLayoutViewModel) 8 | : base(dockLayoutViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Layouts/LayoutsGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Layouts; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Layouts; 4 | 5 | public partial class LayoutsGalleryPage(IDeviceInfo deviceInfo, LayoutsGalleryViewModel layoutGalleryViewModel) : BaseGalleryPage("Layouts", deviceInfo, layoutGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/PlatformSpecific/NavigationBarPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.PlatformSpecific; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.PlatformSpecific; 4 | 5 | public partial class NavigationBarPage : BasePage 6 | { 7 | public NavigationBarPage(NavigationBarAndroidViewModel vm) : base(vm) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/PlatformSpecific/PlatformSpecificGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.PlatformSpecific; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages; 4 | 5 | public class PlatformSpecificGalleryPage(IDeviceInfo deviceInfo, PlatformSpecificGalleryViewModel viewModel) : BaseGalleryPage("Platform Specific", deviceInfo, viewModel) 6 | { 7 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewBindablePropertiesPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewBindablePropertiesPage : BasePage 6 | { 7 | public AvatarViewBindablePropertiesPage(AvatarViewBindablePropertiesViewModel avatarViewBindablePropertiesViewModel) : base(avatarViewBindablePropertiesViewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewBordersPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewBordersPage : BasePage 6 | { 7 | public AvatarViewBordersPage(AvatarViewBordersViewModel bordersAvatarViewViewModel) : base(bordersAvatarViewViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewColorsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewColorsPage : BasePage 6 | { 7 | public AvatarViewColorsPage(AvatarViewColorsViewModel avatarViewColorsViewModel) : base(avatarViewColorsViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewDayOfWeekPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewDayOfWeekPage : BasePage 6 | { 7 | public AvatarViewDayOfWeekPage(AvatarViewDayOfWeekViewModel avatarViewDayOfWeekViewModel) : base(avatarViewDayOfWeekViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewImagesPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewImagesPage : BasePage 6 | { 7 | public AvatarViewImagesPage(AvatarViewImagesViewModel avatarViewImagesViewModel) : base(avatarViewImagesViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewKeyboardPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewKeyboardPage : BasePage 6 | { 7 | public AvatarViewKeyboardPage(AvatarViewKeyboardViewModel avatarViewKeyboardViewModel) : base(avatarViewKeyboardViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewRatingPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewRatingPage : BasePage 6 | { 7 | public AvatarViewRatingPage(AvatarViewRatingViewModel avatarViewSampleRatingViewModel) : base(avatarViewSampleRatingViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewShadowsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewShadowsPage : BasePage 6 | { 7 | public AvatarViewShadowsPage(AvatarViewShadowsViewModel avatarViewShadowsViewModel) : base(avatarViewShadowsViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewShapesPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewShapesPage : BasePage 6 | { 7 | public AvatarViewShapesPage(AvatarViewShapesViewModel avatarViewShapesViewModel) : base(avatarViewShapesViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/AvatarView/AvatarViewSizesPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class AvatarViewSizesPage : BasePage 6 | { 7 | public AvatarViewSizesPage(AvatarViewSizesViewModel avatarViewSizesViewModel) : base(avatarViewSizesViewModel) => InitializeComponent(); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/LazyView/CustomLazyView.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Markup; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views.LazyView; 4 | 5 | public partial class CustomLazyView : Maui.Views.LazyView where TView : View, new() 6 | { 7 | public override async ValueTask LoadViewAsync(CancellationToken token = default) 8 | { 9 | // display a loading indicator 10 | Content = new ActivityIndicator { IsRunning = true }.Center(); 11 | 12 | // simulate a long running task 13 | await Task.Delay(3000, token); 14 | 15 | // load the view 16 | Content = new TView { BindingContext = BindingContext }; 17 | 18 | SetHasLazyViewLoaded(true); 19 | } 20 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/LazyView/MyView.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/LazyView/MyView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Pages.Views.LazyView; 2 | 3 | public partial class MyView : ContentView 4 | { 5 | public MyView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/LazyView/MyViewLazyView.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views.LazyView; 4 | 5 | partial class MyViewLazyView : LazyView 6 | { 7 | public override async ValueTask LoadViewAsync(CancellationToken token = default) 8 | { 9 | await base.LoadViewAsync(token); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/Maps/BasicMapsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | using Microsoft.Maui.Maps; 3 | 4 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 5 | 6 | public partial class BasicMapsPage : BasePage 7 | { 8 | public BasicMapsPage(BasicMapsViewModel mapsViewModel) : base(mapsViewModel) => InitializeComponent(); 9 | 10 | void MapTypePicker_OnSelectedIndexChanged(object? sender, EventArgs e) 11 | { 12 | BasicMap.MapType = (MapType)MapTypePicker.SelectedIndex; 13 | } 14 | 15 | void Button_OnClicked(object? sender, EventArgs e) 16 | { 17 | BasicMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Location(50, 6), Distance.FromKilometers(1))); 18 | } 19 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementCarouselViewPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class MediaElementCarouselViewPage : BasePage 6 | { 7 | public MediaElementCarouselViewPage(MediaElementCarouselViewViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementCollectionViewPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class MediaElementCollectionViewPage : BasePage 6 | { 7 | public MediaElementCollectionViewPage(MediaElementCollectionViewViewModel viewModel) : base(viewModel) 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupPositionPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class PopupPositionPage : BasePage 6 | { 7 | public PopupPositionPage(PopupPositionViewModel popupPositionViewModel) 8 | : base(popupPositionViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupSizingIssuesPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class PopupSizingIssuesPage : BasePage 6 | { 7 | public PopupSizingIssuesPage(PopupSizingIssuesViewModel popupSizingIssuesViewModel) 8 | : base(popupSizingIssuesViewModel) 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/StylePopupPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 3 | 4 | public partial class StylePopupPage : BasePage 5 | { 6 | public StylePopupPage(StylePopupViewModel stylePopupViewModel) : base(stylePopupViewModel) 7 | { 8 | InitializeComponent(); 9 | } 10 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/SemanticOrderView/SemanticOrderViewPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class SemanticOrderViewPage : BasePage 6 | { 7 | public SemanticOrderViewPage(SemanticOrderViewPageViewModel semanticOrderViewPageViewModel) : base(semanticOrderViewPageViewModel) 8 | { 9 | InitializeComponent(); 10 | SemanticOrderView.ViewOrder = new List { First, Second, Third, Fourth, Fifth }; 11 | } 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/Views/ViewsGalleryPage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages.Views; 4 | 5 | public partial class ViewsGalleryPage(IDeviceInfo deviceInfo, ViewsGalleryViewModel viewsGalleryViewModel) : BaseGalleryPage("Views", deviceInfo, viewsGalleryViewModel) 6 | { 7 | 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Pages/WelcomePage.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Markup; 2 | 3 | namespace CommunityToolkit.Maui.Sample.Pages; 4 | 5 | public partial class WelcomePage : ContentPage 6 | { 7 | public WelcomePage() 8 | { 9 | Title = "Welcome"; 10 | 11 | Padding = 12; 12 | 13 | Content = new VerticalStackLayout 14 | { 15 | Spacing = 12, 16 | 17 | Children = 18 | { 19 | new Label { Text = "Welcome to the .NET MAUI Community Toolkit" } 20 | .Font(size: 32).TextCenter(), 21 | 22 | new Label { Text = "Explore features using the flyout menu in the top left" } 23 | .Font(size: 16).TextCenter() 24 | } 25 | }.CenterHorizontal(); 26 | } 27 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Android/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Content.PM; 3 | 4 | namespace CommunityToolkit.Maui.Sample; 5 | 6 | [Activity(Theme = "@style/Maui.SplashTheme", ResizeableActivity = true, MainLauncher = true, LaunchMode = LaunchMode.SingleTask, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)] 7 | public class MainActivity : MauiAppCompatActivity 8 | { 9 | 10 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | using CommunityToolkit.Maui.ApplicationModel; 4 | 5 | namespace CommunityToolkit.Maui.Sample; 6 | 7 | [Application] 8 | public class MainApplication : MauiApplication 9 | { 10 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 11 | : base(handle, ownership) 12 | { 13 | var samsungProvider = new SamsungBadgeProvider(); 14 | BadgeFactory.SetBadgeProvider("com.sec.android.app.launcher", samsungProvider); 15 | BadgeFactory.SetBadgeProvider("com.sec.android.app.twlauncher", samsungProvider); 16 | } 17 | 18 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 19 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #1976D2 4 | #141414 5 | #FFFFFF 6 | -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using Foundation; 3 | 4 | namespace CommunityToolkit.Maui.Sample; 5 | 6 | [Register(nameof(AppDelegate))] 7 | [RequiresUnreferencedCode($"{nameof(MauiProgram.CreateMauiApp)} requires unreferenced code")] 8 | public class AppDelegate : MauiUIApplicationDelegate 9 | { 10 | #pragma warning disable IL2046 11 | [RequiresUnreferencedCode($"{nameof(MauiProgram.CreateMauiApp)} requires unreferenced code")] 12 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 13 | #pragma warning restore IL2046 14 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace CommunityToolkit.Maui.Sample; 4 | 5 | public class Program 6 | { 7 | static void Main(string[] args) => UIApplication.Main(args, null, typeof(AppDelegate)); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace CommunityToolkit.Maui.Sample; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/Windows/App.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Windows; 2 | 3 | /// 4 | /// Provides application-specific behavior to supplement the default Application class. 5 | /// 6 | public partial class App : MauiWinUIApplication 7 | { 8 | /// 9 | /// Initializes the singleton application object. This is the first line of authored code 10 | /// executed, and as such is the logical equivalent of main() or WinMain(). 11 | /// 12 | public App() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | 17 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using Foundation; 3 | 4 | namespace CommunityToolkit.Maui.Sample; 5 | 6 | [Register(nameof(AppDelegate))] 7 | [RequiresUnreferencedCode($"{nameof(MauiProgram.CreateMauiApp)} requires unreferenced code")] 8 | public class AppDelegate : MauiUIApplicationDelegate 9 | { 10 | #pragma warning disable IL2046 11 | [RequiresUnreferencedCode($"{nameof(MauiProgram.CreateMauiApp)} requires unreferenced code")] 12 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 13 | #pragma warning restore IL2046 14 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace CommunityToolkit.Maui.Sample; 4 | 5 | public class Program 6 | { 7 | static void Main(string[] args) => UIApplication.Main(args, null, typeof(AppDelegate)); 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Embedded/MCT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Embedded/MCT.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Embedded/XCT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Embedded/XCT.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Fonts/Font Awesome 6 Brands-Regular-400.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Fonts/Font Awesome 6 Brands-Regular-400.otf -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Fonts/FontAwesomeIcons.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Resources.Fonts; 2 | 3 | /// 4 | /// The unicode values for all FontAwesome v6.1.1 icons. 5 | /// 6 | /// See https://fontawesome.com/cheatsheet 7 | /// This code was automatically generated by FA2CS (https://github.com/matthewrdev/fa2cs). 8 | /// 9 | public static class FontAwesomeIcons 10 | { 11 | /// 12 | /// fa-microsoft unicode value ("\uf3ca"). 13 | /// 14 | /// This icon supports the following styles: Brands 15 | /// 16 | /// Introduced in '5.0.0', Last Modified in '5.0.0'. 17 | /// 18 | /// See https://fontawesome.com/icons/microsoft 19 | /// 20 | public const string Microsoft = "\uf3ca"; 21 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Fonts/FontFamilies.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.Resources.Fonts; 2 | 3 | public static class FontFamilies 4 | { 5 | public const string FontAwesomeBrands = nameof(FontAwesomeBrands); 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Images/avatar_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Images/avatar_icon.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Images/button.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Images/button_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Images/button_pressed.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Images/shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Images/shield.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Raw/AndroidVideo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Raw/AndroidVideo.mp4 -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Raw/AppleVideo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Raw/AppleVideo.mp4 -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Raw/WindowsVideo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Raw/WindowsVideo.mp4 -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Resources/Raw/dotnet_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Maui/d7ab26bb6974b8daea1155303aabfc2731f3f175/samples/CommunityToolkit.Maui.Sample/Resources/Raw/dotnet_bot.png -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Alerts/AlertsGalleryViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.Models; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Alerts; 4 | 5 | public partial class AlertsGalleryViewModel() : BaseGalleryViewModel( 6 | [ 7 | SectionModel.Create("Snackbar", "Show Snackbar"), 8 | SectionModel.Create("Toast", "Show Toast") 9 | ]); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Alerts/SnackbarViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Alerts; 2 | 3 | public partial class SnackbarViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Alerts/ToastViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Alerts; 2 | 3 | public partial class ToastViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Base/BaseViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels; 4 | 5 | public abstract partial class BaseViewModel : ObservableObject 6 | { 7 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/AnimationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | using CommunityToolkit.Maui.Alerts; 3 | using CommunityToolkit.Mvvm.Input; 4 | 5 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 6 | 7 | public partial class AnimationBehaviorViewModel : BaseViewModel 8 | { 9 | public ICommand? AnimateFromViewModelCommand { get; set; } 10 | 11 | [RelayCommand] 12 | Task OnAnimation(CancellationToken token) => Snackbar.Make($"{nameof(AnimationCommand)} is triggered.").Show(token); 13 | 14 | [RelayCommand] 15 | void OnTriggerAnimation() 16 | { 17 | AnimateFromViewModelCommand?.Execute(CancellationToken.None); 18 | } 19 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/CharactersValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Behaviors; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 4 | 5 | public partial class CharactersValidationBehaviorViewModel : BaseViewModel 6 | { 7 | public IReadOnlyList CharacterTypes { get; } = [.. Enum.GetValues()]; 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/EmailValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class EmailValidationBehaviorViewModel : BaseViewModel 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/EventToCommandBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | using CommunityToolkit.Mvvm.Input; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 5 | 6 | public partial class EventToCommandBehaviorViewModel : BaseViewModel 7 | { 8 | [ObservableProperty] 9 | public partial int ClickCount { get; private set; } 10 | 11 | [RelayCommand] 12 | void Increment() 13 | { 14 | ClickCount++; 15 | } 16 | 17 | [RelayCommand] 18 | void IncrementWithArgs(EventArgs eventArgs) 19 | { 20 | ClickCount++; 21 | } 22 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/MaskedBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class MaskedBehaviorViewModel : BaseViewModel 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/MaxLengthReachedBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | using CommunityToolkit.Mvvm.Input; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 5 | 6 | public partial class MaxLengthReachedBehaviorViewModel : BaseViewModel 7 | { 8 | [ObservableProperty] 9 | public partial string CommandExecutionText { get; set; } = string.Empty; 10 | 11 | [RelayCommand] 12 | void MaxLengthReached(string text) 13 | => CommandExecutionText += string.Format("MaxLength reached with value: '{0}'.", text) + Environment.NewLine; 14 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/MultiValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class MultiValidationBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/NumericValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class NumericValidationBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/RequiredStringValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class RequiredStringValidationBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/SelectAllTextBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public sealed partial class SelectAllTextBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/SetFocusOnEntryCompletedBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class SetFocusOnEntryCompletedBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/TextValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class TextValidationBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/TouchBehavior/TouchBehaviorCollectionViewMultipleSelectionViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using System.Diagnostics; 3 | using CommunityToolkit.Mvvm.Input; 4 | 5 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 6 | 7 | public partial class TouchBehaviorCollectionViewMultipleSelectionViewModel : BaseViewModel 8 | { 9 | public ObservableCollection ContentCreators { get; } = [.. ContentCreator.GetContentCreators()]; 10 | 11 | [RelayCommand] 12 | void OnRowTapped(ContentCreator creatorTapped) 13 | { 14 | Trace.TraceInformation($"{creatorTapped.Name} Tapped"); 15 | } 16 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/UriValidationBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 2 | 3 | public partial class UriValidationBehaviorViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Behaviors/UserStoppedTypingBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | using CommunityToolkit.Mvvm.Input; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Behaviors; 5 | 6 | public partial class UserStoppedTypingBehaviorViewModel : BaseViewModel 7 | { 8 | [ObservableProperty] 9 | public partial string PerformedSearches { get; set; } = string.Empty; 10 | 11 | [RelayCommand] 12 | void Search(string searchTerms) => PerformedSearches += string.Format($"Performed search for '{searchTerms}'.") + Environment.NewLine; 13 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/BoolToObjectConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | public partial class BoolToObjectConverterViewModel : BaseViewModel 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/ColorsConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | public partial class ColorsConverterViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/CompareConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class CompareConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial double SliderValue { get; set; } = 0.5; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/DateTimeOffsetConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class DateTimeOffsetConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial DateTimeOffset TheDate { get; set; } = DateTimeOffset.Now; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/DoubleToIntConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class DoubleToIntConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial double Input { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/EnumToBoolConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class EnumToBoolConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial MyDevicePlatform SelectedPlatform { get; set; } = Enum.Parse(DeviceInfo.Platform.ToString(), true); 9 | 10 | public IReadOnlyCollection Platforms { get; } = Enum.GetValues(); 11 | } 12 | 13 | public enum MyDevicePlatform 14 | { 15 | Android, 16 | iOS, 17 | MacCatalyst, 18 | Tizen, 19 | WinUI, 20 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/EnumToIntConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class EnumToIntConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial IssueState SelectedState { get; set; } = IssueState.None; 9 | 10 | public IReadOnlyList AllStates { get; } = Enum.GetNames(); 11 | } 12 | 13 | public enum IssueState 14 | { 15 | None = 0, 16 | New = 1, 17 | Open = 2, 18 | Waiting = 3, 19 | Developing = 4, 20 | WantFix = 5, 21 | Rejected = 6, 22 | Resolved = 7 23 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/ImageResourceConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | public partial class ImageResourceConverterViewModel : BaseViewModel 4 | { 5 | public string XamarinImageResource { get; } = BuildImageResource("XCT.png"); 6 | public string MauiImageResource { get; } = BuildImageResource("MCT.png"); 7 | 8 | static string BuildImageResource(in string resourceName) => $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Name}.Resources.Embedded.{resourceName}"; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IndexToArrayItemConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IndexToArrayItemConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial int SelectedIndex { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IntToBoolConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IntToBoolConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial int Number { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/InvertedBoolConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class InvertedBoolConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial bool IsToggled { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsEqualConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsEqualConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string InputValue { get; set; } = string.Empty; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsInRangeConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | using CommunityToolkit.Mvvm.ComponentModel; 4 | 5 | public partial class IsInRangeConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | [NotifyPropertyChangedFor(nameof(InputChar))] 9 | public partial string InputString { get; set; } = "H"; 10 | 11 | public char InputChar => char.TryParse(InputString, out var returnChar) ? returnChar : default; 12 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsListNullOrEmptyConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | public partial class IsListNullOrEmptyConverterViewModel : IsListNotNullOrEmptyConverterViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsNotEqualConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsNotEqualConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string InputValue { get; set; } = string.Empty; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsNotNullConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsNotNullConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial int IntCheck { get; set; } 9 | 10 | [ObservableProperty] 11 | public partial List? ListCheck { get; set; } 12 | 13 | [ObservableProperty] 14 | public partial string? StringCheck { get; set; } 15 | 16 | [ObservableProperty] 17 | public partial object? ObjectCheck { get; set; } 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsNullConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsNullConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial int IntCheck { get; set; } 9 | 10 | [ObservableProperty] 11 | public partial List? ListCheck { get; set; } 12 | 13 | [ObservableProperty] 14 | public partial string? StringCheck { get; set; } 15 | 16 | [ObservableProperty] 17 | public partial object? ObjectCheck { get; set; } 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsStringNotNullOrEmptyConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsStringNotNullOrEmptyConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string? LabelText { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsStringNotNullOrWhiteSpaceConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsStringNotNullOrWhiteSpaceConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string? LabelText { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsStringNullOrEmptyConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsStringNullOrEmptyConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string? LabelText { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/IsStringNullOrWhiteSpaceConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class IsStringNullOrWhiteSpaceConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string? LabelText { get; set; } 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/ListToStringConverterViewModel.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 3 | 4 | public partial class ListToStringConverterViewModel : BaseViewModel 5 | { 6 | public IReadOnlyList ItemSource { get; } = 7 | [ 8 | "This", 9 | "Is", 10 | "The", 11 | "ListToStringConverter" 12 | ]; 13 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/MathExpressionConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class MathExpressionConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial double SliderValue { get; set; } = 50; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/MultiConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class MultiConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string EnteredName { get; set; } = "Steven"; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/MultiMathExpressionConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class MultiMathExpressionConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial double X0 { get; set; } = 10; 9 | 10 | [ObservableProperty] 11 | public partial double X1 { get; set; } = 20; 12 | 13 | [ObservableProperty] 14 | public partial double X2 { get; set; } = 30; 15 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/StateToBooleanConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Converters; 2 | using CommunityToolkit.Mvvm.ComponentModel; 3 | using CommunityToolkit.Mvvm.Input; 4 | 5 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 6 | public partial class StateToBooleanConverterViewModel : BaseViewModel 7 | { 8 | [ObservableProperty] 9 | public partial LayoutState LayoutState { get; set; } = LayoutState.None; 10 | 11 | [RelayCommand] 12 | public void ChangeLayout() 13 | { 14 | LayoutState = LayoutState switch 15 | { 16 | LayoutState.None => LayoutState.Success, 17 | _ => LayoutState.None 18 | }; 19 | } 20 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/StringToListConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class StringToListConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string LabelText { get; set; } = "Item 1,Item 2,Item 3"; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Converters/TextCaseConverterViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 4 | 5 | public partial class TextCaseConverterViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string Input { get; set; } = string.Empty; 9 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Essentials/AppThemeViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Essentials; 2 | 3 | public partial class AppThemeViewModel : BaseViewModel 4 | { 5 | public AppThemeViewModel() : base() 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Essentials/BadgeViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.ApplicationModel; 2 | using CommunityToolkit.Mvvm.Input; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Essentials; 5 | 6 | public partial class BadgeViewModel : BaseViewModel 7 | { 8 | readonly IBadge badge; 9 | 10 | uint count; 11 | 12 | public BadgeViewModel(IBadge badge) 13 | { 14 | this.badge = badge; 15 | } 16 | 17 | [RelayCommand] 18 | void Increment() 19 | { 20 | count++; 21 | badge.SetCount(count); 22 | } 23 | 24 | [RelayCommand] 25 | void Decrement() 26 | { 27 | if (count > 0) 28 | { 29 | count--; 30 | badge.SetCount(count); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Extensions/ColorAnimationExtensionsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 2 | 3 | public partial class ColorAnimationExtensionsViewModel : BaseViewModel 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Extensions/ExtensionsGalleryViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Core.Platform; 2 | using CommunityToolkit.Maui.Extensions; 3 | using CommunityToolkit.Maui.Sample.Models; 4 | using CommunityToolkit.Maui.Sample.ViewModels.Extensions; 5 | 6 | namespace CommunityToolkit.Maui.Sample.ViewModels.Converters; 7 | 8 | public partial class ExtensionsGalleryViewModel() : BaseGalleryViewModel( 9 | [ 10 | SectionModel.Create(nameof(ColorAnimationExtensions), "Extension methods that provide color animations"), 11 | SectionModel.Create(nameof(KeyboardExtensions), "Extension methods that provide keyboard interactions") 12 | ]); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/ImageSources/ImageSourcesGalleryViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.Models; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.ImageSources; 4 | 5 | public partial class ImageSourcesGalleryViewModel() : BaseGalleryViewModel( 6 | [ 7 | SectionModel.Create("GravatarImageSource", Colors.Red, "GravatarImageSource allows you to use as an Image source, a users Gravatar registered image via their email address.") 8 | ]); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Layouts/DockLayoutViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Layouts; 2 | 3 | public partial class DockLayoutViewModel : BaseViewModel 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Layouts/LayoutsGalleryViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.Models; 2 | using CommunityToolkit.Maui.Sample.Pages.Layouts; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Layouts; 5 | 6 | public partial class LayoutsGalleryViewModel() : BaseGalleryViewModel( 7 | [ 8 | SectionModel.Create(nameof(StateContainerPage), "Properties enabling any Layout derived element to become state-aware"), 9 | SectionModel.Create(nameof(UniformItemsLayoutPage), "A Grid where all rows and columns have the same size"), 10 | SectionModel.Create(nameof(DockLayoutPage), "A layout that positions its child elements along the edges of the container.") 11 | ]); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Layouts/UniformItemsLayoutViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using CommunityToolkit.Mvvm.Input; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Layouts; 5 | 6 | public partial class UniformItemsLayoutViewModel : BaseViewModel 7 | { 8 | [RelayCommand] 9 | void AddItem() 10 | { 11 | Items.Add(Path.GetRandomFileName()); 12 | } 13 | 14 | [RelayCommand] 15 | void ClearItem() 16 | { 17 | Items.Clear(); 18 | } 19 | 20 | public ObservableCollection Items { get; } = []; 21 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/PlatformSpecific/PlatformSpecificGalleryViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Maui.Sample.Models; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.PlatformSpecific; 4 | 5 | public sealed partial class PlatformSpecificGalleryViewModel() : BaseGalleryViewModel( 6 | [ 7 | SectionModel.Create("NavigationBar (Android)", "Change the Navigation Bar color on Android"), 8 | ]); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewBordersViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewBordersViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewColorsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewColorsViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewDayOfWeekViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewDayOfWeekViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewGesturesPage.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewGesturesViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewImagesViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewImagesViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewKeyboardViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewKeyboardViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewRatingViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewRatingViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewShadowsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewShadowsViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewShapesViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewShapesViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/AvatarView/AvatarViewSizesViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class AvatarViewSizesViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/LazyView/LazyViewViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class LazyViewViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Maps/MapsPinsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class MapsPinsViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Maps/MapsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class BasicMapsViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/MediaElement/MediaElementCarouselViewViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using CommunityToolkit.Maui.Sample.Constants; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 5 | 6 | public partial class MediaElementCarouselViewViewModel : BaseViewModel 7 | { 8 | public ObservableCollection ItemSource { get; } = 9 | [ 10 | new(new Uri(StreamingVideoUrls.BuckBunny), "Buck Bunny", 720, 1280), 11 | new(new Uri(StreamingVideoUrls.ElephantsDream), "Elephants Dream", 720, 1280), 12 | new(new Uri(StreamingVideoUrls.Sintel), "Sintel", 546, 1280) 13 | ]; 14 | } 15 | 16 | public record MediaElementDataSource(Uri Source, string Name, int VideoHeight, int VideoWidth); -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/MediaElement/MediaElementCollectionViewViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using CommunityToolkit.Maui.Sample.Constants; 3 | 4 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 5 | 6 | public partial class MediaElementCollectionViewViewModel : BaseViewModel 7 | { 8 | public ObservableCollection ItemSource { get; } = 9 | [ 10 | new(new Uri(StreamingVideoUrls.BuckBunny), "Buck Bunny", 720, 1280), 11 | new(new Uri(StreamingVideoUrls.ElephantsDream), "Elephants Dream", 720, 1280), 12 | new(new Uri(StreamingVideoUrls.Sintel), "Sintel", 546, 1280) 13 | ]; 14 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/MediaElement/MediaElementMultipleWindowsViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class MediaElementMultipleWindowsViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/MediaElement/MediaElementViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class MediaElementViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Popup/PopupContentViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 4 | 5 | public sealed partial class PopupContentViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial string Message { get; private set; } = ""; 9 | 10 | internal void SetMessage(string text) => this.Message = text; 11 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Popup/PopupLayoutAlignmentViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class PopupLayoutAlignmentViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Popup/ShowPopupInOnAppearingPageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class ShowPopupInOnAppearingPageViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/Popup/XamlBindingPopupViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public sealed partial class XamlBindingPopupViewModel : BaseViewModel 4 | { 5 | public string Title { get; } = "Xaml Binding Popup"; 6 | 7 | public string Message { get; } = "This is a platform specific popup with a .NET MAUI View being rendered.\nThe behaviors of the popup will confirm to 100% as each platform implementation look and feel, but still allows you to use your .NET MAUI Controls."; 8 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/RatingView/RatingViewShowcaseViewModel.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.ComponentModel; 2 | 3 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 4 | 5 | public partial class RatingViewShowcaseViewModel : BaseViewModel 6 | { 7 | [ObservableProperty] 8 | public partial double StepperValueMaximumRatings { get; set; } = 1; 9 | 10 | [ObservableProperty] 11 | public partial double ReviewSummaryAverage { get; set; } = 0; 12 | 13 | [ObservableProperty] 14 | public partial Thickness RatingViewShapePadding { get; set; } = new(0); 15 | 16 | [ObservableProperty] 17 | public partial double ReviewSummaryCount { get; set; } = 0; 18 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/ViewModels/Views/SemanticOrderView/SemanticOrderViewPageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace CommunityToolkit.Maui.Sample.ViewModels.Views; 2 | 3 | public partial class SemanticOrderViewPageViewModel : BaseViewModel 4 | { 5 | } -------------------------------------------------------------------------------- /samples/CommunityToolkit.Maui.Sample/Views/NullableBoolComponentWithLabel.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 |