diff --git a/Directory.Build.props b/Directory.Build.props
index d1825cea9f..51c6c1b95f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -170,6 +170,7 @@
xUnit3002: Classes which are JSON serializable should not be tested for their concrete type
XC0045: Binding: Property not found
XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any
+ XC0618: Property, Property setter or BindableProperty "BackgroundColor" is deprecated
IL2***: Trim Warnings
IL3***: AOT Warnings
RS2007: Analyzer release file 'AnalyzerReleases.Shipped.md' has a missing or invalid release header-->
@@ -182,7 +183,7 @@
xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1048,xUnit1049,xUnit1050,xUnit1051,
xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032,
xUnit3000,xUnit3001,xUnit3002,
- XC0045,XC0103,
+ XC0045,XC0103,XC0618,
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029,
diff --git a/samples/CommunityToolkit.Maui.Sample/App.xaml b/samples/CommunityToolkit.Maui.Sample/App.xaml
index a513007377..9167b3b42b 100644
--- a/samples/CommunityToolkit.Maui.Sample/App.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/App.xaml
@@ -10,42 +10,34 @@
diff --git a/samples/CommunityToolkit.Maui.Sample/AppShell.xaml.cs b/samples/CommunityToolkit.Maui.Sample/AppShell.xaml.cs
index 18600e20b9..12721c1b46 100644
--- a/samples/CommunityToolkit.Maui.Sample/AppShell.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/AppShell.xaml.cs
@@ -120,7 +120,6 @@ public partial class AppShell : Shell
CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
- CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
@@ -129,17 +128,16 @@ public partial class AppShell : Shell
CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
- CreateViewModelMapping(),
- CreateViewModelMapping(),
+ CreateViewModelMapping(),
+ CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
+ CreateViewModelMapping(),
+ CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
CreateViewModelMapping(),
- CreateViewModelMapping(),
- CreateViewModelMapping(),
- CreateViewModelMapping(),
// Add PlatformSpecific View Models
CreateViewModelMapping()
diff --git a/samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj b/samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj
index 05c803ebd2..786e13f8a8 100644
--- a/samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj
+++ b/samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj
@@ -35,10 +35,10 @@
CsWinRT1028
-
+
diff --git a/samples/CommunityToolkit.Maui.Sample/MauiProgram.cs b/samples/CommunityToolkit.Maui.Sample/MauiProgram.cs
index c7268cc8be..095d44bca5 100644
--- a/samples/CommunityToolkit.Maui.Sample/MauiProgram.cs
+++ b/samples/CommunityToolkit.Maui.Sample/MauiProgram.cs
@@ -2,7 +2,6 @@
using CommunityToolkit.Maui.ApplicationModel;
using CommunityToolkit.Maui.Markup;
using CommunityToolkit.Maui.Media;
-using CommunityToolkit.Maui.Sample.Models;
using CommunityToolkit.Maui.Sample.Pages;
using CommunityToolkit.Maui.Sample.Pages.Alerts;
using CommunityToolkit.Maui.Sample.Pages.Behaviors;
@@ -120,7 +119,6 @@ public static MauiApp CreateMauiApp()
.AddStandardResilienceHandler(static options => options.Retry = new MobileHttpRetryStrategyOptions());
builder.Services.AddSingleton();
- builder.Services.AddSingleton();
RegisterViewsAndViewModels(builder.Services);
RegisterEssentials(builder.Services);
@@ -245,7 +243,6 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
// Add Views Pages + ViewModels
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
- services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
@@ -254,8 +251,7 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
- services.AddTransientWithShellRoute();
- services.AddTransientWithShellRoute();
+ services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
services.AddTransientWithShellRoute();
@@ -267,7 +263,24 @@ static void RegisterViewsAndViewModels(in IServiceCollection services)
services.AddTransientWithShellRoute();
// Add Popups
+ services.AddTransientPopup();
+ services.AddTransientPopup();
services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
+ services.AddTransientPopup();
services.AddTransientPopup();
services.AddTransientPopup();
}
diff --git a/samples/CommunityToolkit.Maui.Sample/Models/PopupSize.cs b/samples/CommunityToolkit.Maui.Sample/Models/PopupSize.cs
deleted file mode 100644
index 88cef5a44d..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Models/PopupSize.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace CommunityToolkit.Maui.Sample.Models;
-
-public class PopupSizeConstants
-{
- public PopupSizeConstants(IDeviceDisplay deviceDisplay)
- {
- Tiny = new(100, 100);
- Small = new(300, 300);
- Medium = new(0.4 * (deviceDisplay.MainDisplayInfo.Width / deviceDisplay.MainDisplayInfo.Density), 0.6 * (deviceDisplay.MainDisplayInfo.Height / deviceDisplay.MainDisplayInfo.Density));
- Large = new(0.5 * (deviceDisplay.MainDisplayInfo.Width / deviceDisplay.MainDisplayInfo.Density), 0.8 * (deviceDisplay.MainDisplayInfo.Height / deviceDisplay.MainDisplayInfo.Density));
- }
-
- // examples for fixed sizes
- public Size Tiny { get; }
-
- public Size Small { get; }
-
- // examples for relative to screen sizes
- public Size Medium { get; }
-
- public Size Large { get; }
-}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementPage.xaml.cs
index 819e1c9441..4963bdeafe 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementPage.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/MediaElement/MediaElementPage.xaml.cs
@@ -1,9 +1,9 @@
using System.ComponentModel;
using CommunityToolkit.Maui.Core.Primitives;
+using CommunityToolkit.Maui.Extensions;
using CommunityToolkit.Maui.Sample.ViewModels.Views;
using CommunityToolkit.Maui.Views;
using Microsoft.Extensions.Logging;
-using LayoutAlignment = Microsoft.Maui.Primitives.LayoutAlignment;
namespace CommunityToolkit.Maui.Sample.Pages.Views;
@@ -243,35 +243,18 @@ async void ChangeAspectClicked(object? sender, EventArgs e)
MediaElement.Aspect = (Aspect)aspectEnum;
}
- void DisplayPopup(object sender, EventArgs e)
+ async void DisplayPopup(object sender, EventArgs e)
{
MediaElement.Pause();
var popupMediaElement = new MediaElement
{
Source = MediaSource.FromResource("AppleVideo.mp4"),
- HeightRequest = 600,
- WidthRequest = 600,
ShouldAutoPlay = true,
ShouldShowPlaybackControls = true,
};
- var popup = new Popup
- {
- VerticalOptions = LayoutAlignment.Center,
- HorizontalOptions = LayoutAlignment.Center,
- Content = new StackLayout
- {
- Children =
- {
- popupMediaElement,
- }
- }
- };
- this.ShowPopup(popup);
- popup.Closed += (s, e) =>
- {
- popupMediaElement.Stop();
- popupMediaElement.Handler?.DisconnectHandler();
- };
+ await this.ShowPopupAsync(popupMediaElement);
+ popupMediaElement.Stop();
+ popupMediaElement.Handler?.DisconnectHandler();
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml
deleted file mode 100644
index bdbb5ec219..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml
+++ /dev/null
@@ -1,206 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml.cs
deleted file mode 100644
index ec36628879..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/CustomSizeAndPositionPopupPage.xaml.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using CommunityToolkit.Maui.Sample.ViewModels.Views;
-
-namespace CommunityToolkit.Maui.Sample.Pages.Views;
-
-public partial class CustomSizeAndPositionPopupPage : BasePage
-{
- public CustomSizeAndPositionPopupPage(CustomSizeAndPositionPopupViewModel viewModel) : base(viewModel)
- {
- InitializeComponent();
- }
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
-
- //Required to ensure the FlowDirection Picker is populated with a default value
- // Without this, the FlowDirection Picker selection is uninitialized
- BindingContext.FlowDirectionSelectedIndex = 1;
- }
-}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml.cs
deleted file mode 100644
index e745e4f0f5..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Sample.ViewModels.Views;
-using CommunityToolkit.Maui.Sample.Views.Popups;
-using CommunityToolkit.Maui.Views;
-
-namespace CommunityToolkit.Maui.Sample.Pages.Views;
-
-public partial class MultiplePopupPage : BasePage
-{
- readonly PopupSizeConstants popupSizeConstants;
-
- public MultiplePopupPage(PopupSizeConstants popupSizeConstants,
- MultiplePopupViewModel multiplePopupViewModel)
- : base(multiplePopupViewModel)
- {
- InitializeComponent();
-
- this.popupSizeConstants = popupSizeConstants;
- }
-
- async void HandleSimplePopupButtonClicked(object sender, EventArgs e)
- {
- var simplePopup = new SimplePopup(popupSizeConstants);
- await this.ShowPopupAsync(simplePopup, CancellationToken.None);
- }
-
- async void HandleButtonPopupButtonClicked(object sender, EventArgs e)
- {
- var buttonPopup = new ButtonPopup(popupSizeConstants);
- await this.ShowPopupAsync(buttonPopup, CancellationToken.None);
- }
-
- async void HandleMultipleButtonPopupButtonClicked(object sender, EventArgs e)
- {
- var multipleButtonPopup = new MultipleButtonPopup(popupSizeConstants);
- await this.ShowPopupAsync(multipleButtonPopup, CancellationToken.None);
- }
-
- async void HandleNoOutsideTapDismissPopupClicked(object sender, EventArgs e)
- {
- var noOutsideTapDismissPopup = new NoOutsideTapDismissPopup(popupSizeConstants);
- await this.ShowPopupAsync(noOutsideTapDismissPopup, CancellationToken.None);
- }
-
- async void HandleToggleSizePopupButtonClicked(object sender, EventArgs e)
- {
- var toggleSizePopup = new ToggleSizePopup(popupSizeConstants);
- await this.ShowPopupAsync(toggleSizePopup, CancellationToken.None);
- }
-
- async void HandleTransparentPopupButtonClicked(object sender, EventArgs e)
- {
- var transparentPopup = new TransparentPopup();
- await this.ShowPopupAsync(transparentPopup, CancellationToken.None);
- }
-
- async void HandleOpenedEventSimplePopupButtonClicked(object sender, EventArgs e)
- {
- var openedEventSimplePopup = new OpenedEventSimplePopup(popupSizeConstants);
- await this.ShowPopupAsync(openedEventSimplePopup, CancellationToken.None);
- }
-
- async void HandleReturnResultPopupButtonClicked(object sender, EventArgs e)
- {
- var returnResultPopup = new ReturnResultPopup(popupSizeConstants);
- var result = await this.ShowPopupAsync(returnResultPopup, CancellationToken.None);
-
- await DisplayAlert("Pop Result Returned", $"Result: {result}", "OK");
- }
-
- async void HandleXamlBindingPopupPopupButtonClicked(object sender, EventArgs e)
- {
- var xamlBindingPopup = new XamlBindingPopup(popupSizeConstants);
- await this.ShowPopupAsync(xamlBindingPopup, CancellationToken.None);
- }
-}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml
deleted file mode 100644
index 7870ea7061..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml.cs
deleted file mode 100644
index 651b6af60c..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupAnchorPage.xaml.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using CommunityToolkit.Maui.Sample.ViewModels.Views;
-
-namespace CommunityToolkit.Maui.Sample.Pages.Views;
-
-public partial class PopupAnchorPage : BasePage
-{
- readonly IDeviceInfo deviceInfo;
-
- public PopupAnchorPage(IDeviceInfo deviceInfo, PopupAnchorViewModel popupAnchorViewModel)
- : base(popupAnchorViewModel)
- {
- InitializeComponent();
-
- this.deviceInfo = deviceInfo;
- }
-
- void OnPanUpdated(object? sender, PanUpdatedEventArgs e)
- {
- ArgumentNullException.ThrowIfNull(sender);
-
- var label = (Label)sender;
-
- if (deviceInfo.Platform == DevicePlatform.Android)
- {
- label.TranslationX += e.TotalX;
- label.TranslationY += e.TotalY;
- }
- else
- {
- switch (e.StatusType)
- {
- case GestureStatus.Running:
- label.TranslationX = e.TotalX;
- label.TranslationY = e.TotalY;
- break;
- case GestureStatus.Completed:
- label.TranslationX += e.TotalX;
- label.TranslationY += e.TotalY;
- break;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupLayoutAlignmentPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupLayoutAlignmentPage.xaml.cs
index bdefe04325..c9b893896b 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupLayoutAlignmentPage.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupLayoutAlignmentPage.xaml.cs
@@ -1,6 +1,6 @@
-using CommunityToolkit.Maui.Sample.ViewModels.Views;
+using CommunityToolkit.Maui.Extensions;
+using CommunityToolkit.Maui.Sample.ViewModels.Views;
using CommunityToolkit.Maui.Sample.Views.Popups;
-using CommunityToolkit.Maui.Views;
namespace CommunityToolkit.Maui.Sample.Pages.Views;
@@ -13,26 +13,23 @@ public PopupLayoutAlignmentPage(PopupLayoutAlignmentViewModel popupLayoutViewMod
void ShowPopupButtonClicked(object sender, EventArgs e)
{
- var redBlueBoxPopup = new RedBlueBoxPopup
- {
- Size = new Size(double.Parse(widthEntry.Text), double.Parse(heightEntry.Text)),
- };
+ LayoutOptions verticalOptions, horizontalOptions;
if (VerticalOptionsStartRadioButton.IsChecked)
{
- redBlueBoxPopup.VerticalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Start;
+ verticalOptions = LayoutOptions.Start;
}
else if (VerticalOptionsCenterRadioButton.IsChecked)
{
- redBlueBoxPopup.VerticalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Center;
+ verticalOptions = LayoutOptions.Center;
}
else if (VerticalOptionsEndRadioButton.IsChecked)
{
- redBlueBoxPopup.VerticalOptions = Microsoft.Maui.Primitives.LayoutAlignment.End;
+ verticalOptions = LayoutOptions.End;
}
else if (VerticalOptionsFillRadioButton.IsChecked)
{
- redBlueBoxPopup.VerticalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Fill;
+ verticalOptions = LayoutOptions.Fill;
}
else
{
@@ -41,25 +38,35 @@ void ShowPopupButtonClicked(object sender, EventArgs e)
if (HorizontalOptionsStartRadioButton.IsChecked)
{
- redBlueBoxPopup.HorizontalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Start;
+ horizontalOptions = LayoutOptions.Start;
}
else if (HorizontalOptionsCenterRadioButton.IsChecked)
{
- redBlueBoxPopup.HorizontalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Center;
+ horizontalOptions = LayoutOptions.Center;
}
else if (HorizontalOptionsEndRadioButton.IsChecked)
{
- redBlueBoxPopup.HorizontalOptions = Microsoft.Maui.Primitives.LayoutAlignment.End;
+ horizontalOptions = LayoutOptions.End;
}
else if (HorizontalOptionsFillRadioButton.IsChecked)
{
- redBlueBoxPopup.HorizontalOptions = Microsoft.Maui.Primitives.LayoutAlignment.Fill;
+ horizontalOptions = LayoutOptions.Fill;
}
else
{
throw new InvalidOperationException("HorizontalOptions Radio Button Must Be Selected");
}
- this.ShowPopup(redBlueBoxPopup);
+ this.ShowPopup(new RedBlueBoxPopup
+ {
+ VerticalOptions = verticalOptions,
+ HorizontalOptions = horizontalOptions,
+ Padding = 0,
+ WidthRequest = double.Parse(widthEntry.Text),
+ HeightRequest = double.Parse(heightEntry.Text)
+ }, new PopupOptions
+ {
+ Shape = null
+ });
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupOnDisappearingPage.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupOnDisappearingPage.cs
new file mode 100644
index 0000000000..48a6eb0bb0
--- /dev/null
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupOnDisappearingPage.cs
@@ -0,0 +1,35 @@
+using CommunityToolkit.Maui.Extensions;
+using CommunityToolkit.Maui.Markup;
+using CommunityToolkit.Maui.Sample.Views.Popups;
+using CommunityToolkit.Mvvm.Input;
+
+namespace CommunityToolkit.Maui.Sample.Pages.Views.Popup;
+
+public class PopupOnDisappearingPage : ContentPage
+{
+ public PopupOnDisappearingPage()
+ {
+ Content = new VerticalStackLayout
+ {
+ Spacing = 12,
+ Children =
+ {
+ new Label().Text("This is a modal page. A popup will be displayed when this modal page is dismissed").Center().TextCenter(),
+ new Button
+ {
+ Command = new AsyncRelayCommand(() => Navigation.PopModalAsync())
+ }.Text("Go Back").Center()
+ }
+ }.Center();
+ }
+
+ protected override async void OnDisappearing()
+ {
+ base.OnDisappearing();
+
+ await this.ShowPopupAsync(new RedBlueBoxPopup().Padding(0), new PopupOptions
+ {
+ Shape = null,
+ });
+ }
+}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupSizingIssuesPage.xaml b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupSizingIssuesPage.xaml
index 8d07c02fe0..932bed8eb4 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupSizingIssuesPage.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupSizingIssuesPage.xaml
@@ -3,7 +3,7 @@
xmlns:pages="clr-namespace:CommunityToolkit.Maui.Sample.Pages"
xmlns:viewModels="clr-namespace:CommunityToolkit.Maui.Sample.ViewModels.Views"
x:Class="CommunityToolkit.Maui.Sample.Pages.Views.PopupSizingIssuesPage"
- Title="MultiplePopupPage"
+ Title="Popup Sizing Issues Page"
x:TypeArguments="viewModels:PopupSizingIssuesViewModel"
x:DataType="viewModels:PopupSizingIssuesViewModel"
x:Name="Self">
@@ -22,7 +22,7 @@
-
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml
similarity index 65%
rename from samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml
rename to samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml
index d05ab27ce4..5448130bdb 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/MultiplePopupPage.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml
@@ -2,10 +2,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:pages="clr-namespace:CommunityToolkit.Maui.Sample.Pages"
xmlns:viewModels="clr-namespace:CommunityToolkit.Maui.Sample.ViewModels.Views"
- x:Class="CommunityToolkit.Maui.Sample.Pages.Views.MultiplePopupPage"
- Title="MultiplePopupPage"
- x:TypeArguments="viewModels:MultiplePopupViewModel"
- x:DataType="viewModels:MultiplePopupViewModel">
+ x:Class="CommunityToolkit.Maui.Sample.Pages.Views.PopupsPage"
+ Title="Popups Page"
+ x:TypeArguments="viewModels:PopupsViewModel"
+ x:DataType="viewModels:PopupsViewModel">
@@ -31,6 +31,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml.cs
new file mode 100644
index 0000000000..1681d37589
--- /dev/null
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/PopupsPage.xaml.cs
@@ -0,0 +1,114 @@
+using CommunityToolkit.Maui.Sample.Pages.Views.Popup;
+using CommunityToolkit.Maui.Sample.ViewModels.Views;
+using CommunityToolkit.Maui.Sample.Views.Popups;
+using Microsoft.Maui.Controls.Shapes;
+
+namespace CommunityToolkit.Maui.Sample.Pages.Views;
+
+public partial class PopupsPage : BasePage
+{
+ readonly IPopupService popupService;
+
+ public PopupsPage(PopupsViewModel multiplePopupViewModel, IPopupService popupService)
+ : base(multiplePopupViewModel)
+ {
+ this.popupService = popupService;
+
+ InitializeComponent();
+ }
+
+ async void HandleSimplePopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation, new PopupOptions
+ {
+ Shape = new RoundRectangle
+ {
+ CornerRadius = new CornerRadius(4),
+ Stroke = Colors.White
+ },
+ }, CancellationToken.None);
+ }
+
+ async void HandleButtonPopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation);
+ }
+
+ async void HandleMultipleButtonPopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation);
+ }
+
+ async void HandleNoOutsideTapDismissPopupClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation, new PopupOptions
+ {
+ CanBeDismissedByTappingOutsideOfPopup = false,
+ });
+ }
+
+ async void HandleToggleSizePopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation);
+ }
+
+ async void HandleTransparentPopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation);
+ }
+
+ async void HandleOpenedEventSimplePopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation, new PopupOptions
+ {
+ Shape = new RoundRectangle
+ {
+ CornerRadius = new CornerRadius(20, 20, 20, 20),
+ StrokeThickness = 20,
+ Stroke = Colors.Blue
+ },
+ });
+ }
+
+ async void HandleReturnResultPopupButtonClicked(object sender, EventArgs e)
+ {
+ var result = await popupService.ShowPopupAsync(Navigation);
+
+ await DisplayAlert("Pop Result Returned", $"Result: {result.Result ?? "Closed by tapping outside"}", "OK");
+ }
+
+ async void HandleXamlBindingPopupPopupButtonClicked(object sender, EventArgs e)
+ {
+ await popupService.ShowPopupAsync(Navigation);
+ }
+
+ async void HandlePopupPositionButtonClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(new PopupPositionPage(new PopupPositionViewModel()));
+ }
+
+ async void HandlePopupLayoutAlignmentButtonClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(new PopupLayoutAlignmentPage(new PopupLayoutAlignmentViewModel()));
+ }
+
+ async void HandlePopupSizingIssuesButtonClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(new PopupSizingIssuesPage(new PopupSizingIssuesViewModel()));
+ }
+
+ async void HandleShowPopupInOnAppearingButtonClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(new ShowPopupInOnAppearingPage(new ShowPopupInOnAppearingPageViewModel(), popupService));
+ }
+
+ async void HandleStylePopupButtonClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(new StylePopupPage(new StylePopupViewModel()));
+ }
+
+ async void HandleOnDisappearingPopupClicked(object sender, EventArgs e)
+ {
+ await Navigation.PushModalAsync(new PopupOnDisappearingPage());
+ }
+}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml
index d12c8c75e5..9601ea71df 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml
@@ -7,10 +7,12 @@
Title="ShowPopupInOnAppearingPage"
x:TypeArguments="viewModels:ShowPopupInOnAppearingPageViewModel"
x:DataType="viewModels:ShowPopupInOnAppearingPageViewModel">
-
+
+ Text="This page demonstrates that we now support showing a popup before the platform is even ready."/>
+
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml.cs
index 0953b536d7..8dee02cdf7 100644
--- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/Popup/ShowPopupInOnAppearingPage.xaml.cs
@@ -1,28 +1,29 @@
-using CommunityToolkit.Maui.Sample.Models;
using CommunityToolkit.Maui.Sample.ViewModels.Views;
using CommunityToolkit.Maui.Sample.Views.Popups;
-using CommunityToolkit.Maui.Views;
namespace CommunityToolkit.Maui.Sample.Pages.Views;
public partial class ShowPopupInOnAppearingPage : BasePage
{
- readonly PopupSizeConstants popupSizeConstants;
+ readonly IPopupService popupService;
+ bool hasPopupBeenShown;
public ShowPopupInOnAppearingPage(
- PopupSizeConstants popupSizeConstants,
- ShowPopupInOnAppearingPageViewModel showPopupInOnAppearingPageViewModel)
+ ShowPopupInOnAppearingPageViewModel showPopupInOnAppearingPageViewModel,
+ IPopupService popupService)
: base(showPopupInOnAppearingPageViewModel)
{
InitializeComponent();
- this.popupSizeConstants = popupSizeConstants;
+
+ this.popupService = popupService;
}
protected override async void OnAppearing()
{
- var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
-
- // Proves that we now support showing a popup before the platform is even ready.
- await this.ShowPopupAsync(new ReturnResultPopup(popupSizeConstants), cts.Token);
+ if (!hasPopupBeenShown)
+ {
+ hasPopupBeenShown = true;
+ await popupService.ShowPopupAsync(Navigation);
+ }
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Resources/Styles/Styles.xaml b/samples/CommunityToolkit.Maui.Sample/Resources/Styles/Styles.xaml
index 43b0bcf16b..a61dfe0a11 100644
--- a/samples/CommunityToolkit.Maui.Sample/Resources/Styles/Styles.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Resources/Styles/Styles.xaml
@@ -15,12 +15,6 @@
-
-
-
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ApplyToDerivedTypesPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ApplyToDerivedTypesPopup.xaml.cs
index f8093fc0e8..afc4dd5f2a 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ApplyToDerivedTypesPopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ApplyToDerivedTypesPopup.xaml.cs
@@ -1,12 +1,10 @@
-using CommunityToolkit.Maui.Views;
-
-namespace CommunityToolkit.Maui.Sample.Views.Popups;
+namespace CommunityToolkit.Maui.Sample.Views.Popups;
///
/// This popup demonstrates how the ApplyToDerivedTypes property can allow for Popup implementations
/// that inherit from Popup to still use a common Style definition.
///
-public partial class ApplyToDerivedTypesPopup : Popup
+public partial class ApplyToDerivedTypesPopup
{
public ApplyToDerivedTypesPopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml
index 1c297f9b88..efbfb5d064 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml
@@ -3,9 +3,11 @@
x:Class="CommunityToolkit.Maui.Sample.Views.Popups.ButtonPopup"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
+ xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
+ BackgroundColor="Red">
-
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml.cs
index 28700388a5..28972839ba 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ButtonPopup.xaml.cs
@@ -1,19 +1,14 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Views;
-
namespace CommunityToolkit.Maui.Sample.Views.Popups;
-public partial class ButtonPopup : Popup
+public partial class ButtonPopup : Maui.Views.Popup
{
- public ButtonPopup(PopupSizeConstants popupSizeConstants)
+ public ButtonPopup()
{
InitializeComponent();
- Size = popupSizeConstants.Medium;
}
- async void Button_Clicked(object? sender, EventArgs e)
+ void Button_Clicked(object? sender, EventArgs e)
{
- var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
- await CloseAsync(token: cts.Token);
+ Close();
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.cs
new file mode 100644
index 0000000000..a943e5a9f9
--- /dev/null
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.cs
@@ -0,0 +1,40 @@
+using CommunityToolkit.Maui.Markup;
+using CommunityToolkit.Maui.Sample.ViewModels.Views;
+using CommunityToolkit.Maui.Views;
+
+namespace CommunityToolkit.Maui.Sample.Views.Popups;
+
+public partial class CsharpBindingPopup : Popup
+{
+ public CsharpBindingPopup(CsharpBindingPopupViewModel csharpBindingPopupViewModel)
+ {
+ BindingContext = csharpBindingPopupViewModel;
+
+ Content = new VerticalStackLayout
+ {
+ Children =
+ {
+ new Label()
+ .Font(size: 26, bold: true)
+ .TextColor(Colors.Black)
+ .TextCenter()
+ .Top().Center()
+ .Bind(Label.TextProperty,
+ getter: static (CsharpBindingPopupViewModel vm) => vm.Title),
+
+ new BoxView()
+ .Height(1)
+ .Margin(50, 25)
+ .BackgroundColor(Color.FromArgb("#c3c3c3")),
+
+ new Label()
+ .Center()
+ .TextCenter()
+ .TextColor(Colors.Black)
+ .Bind(Label.TextProperty,
+ getter: static (CsharpBindingPopupViewModel vm) => vm.Message)
+
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml
deleted file mode 100644
index 6e68d0ab17..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml.cs
deleted file mode 100644
index 1a9f62337a..0000000000
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/CsharpBindingPopup.xaml.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Sample.ViewModels.Views;
-using CommunityToolkit.Maui.Views;
-
-namespace CommunityToolkit.Maui.Sample.Views.Popups;
-
-public partial class CsharpBindingPopup : Popup
-{
- public CsharpBindingPopup(PopupSizeConstants popupSizeConstants, CsharpBindingPopupViewModel csharpBindingPopupViewModel)
- {
- InitializeComponent();
- BindingContext = csharpBindingPopupViewModel;
-
- Size = popupSizeConstants.Large;
- }
-}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStyleInheritancePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStyleInheritancePopup.xaml.cs
index f5ce631f55..7f4583bea7 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStyleInheritancePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStyleInheritancePopup.xaml.cs
@@ -1,8 +1,6 @@
-using CommunityToolkit.Maui.Views;
+namespace CommunityToolkit.Maui.Sample.Views.Popups;
-namespace CommunityToolkit.Maui.Sample.Views.Popups;
-
-public partial class DynamicStyleInheritancePopup : Popup
+public partial class DynamicStyleInheritancePopup
{
public DynamicStyleInheritancePopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml
index dc1dcd6472..c1fb24234e 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml
@@ -7,11 +7,9 @@
Style="{DynamicResource DynamicPopupStyle}">
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml.cs
index d8b014820a..6d4ce06a99 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/DynamicStylePopup.xaml.cs
@@ -3,10 +3,9 @@
namespace CommunityToolkit.Maui.Sample.Views.Popups;
///
-/// This popup demonstrates how a is applied to a
-/// through the use of the property using the .
+/// This popup demonstrates how a is applied to a .
///
-public partial class DynamicStylePopup : Popup
+public partial class DynamicStylePopup
{
public DynamicStylePopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ExplicitStylePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ExplicitStylePopup.xaml.cs
index 91e96df9a5..6a764be277 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ExplicitStylePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ExplicitStylePopup.xaml.cs
@@ -3,10 +3,9 @@
namespace CommunityToolkit.Maui.Sample.Views.Popups;
///
-/// This popup demonstrates how a is applied to a explicitly
-/// through the use of the property using the .
+/// This popup demonstrates how a is applied to a explicitly.
///
-public partial class ExplicitStylePopup : Popup
+public partial class ExplicitStylePopup
{
public ExplicitStylePopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml
index 78a167106f..c3ec2dd626 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml
@@ -1,11 +1,15 @@
+ xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
+ xmlns:system="clr-namespace:System;assembly=System.Runtime"
+ BackgroundColor="White">
-
+
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml.cs
index 527aa6e02e..1406b4da52 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/MultipleButtonPopup.xaml.cs
@@ -1,26 +1,19 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Views;
-
namespace CommunityToolkit.Maui.Sample.Views.Popups;
-public partial class MultipleButtonPopup : Popup
+public partial class MultipleButtonPopup : Maui.Views.Popup
{
- public MultipleButtonPopup(PopupSizeConstants popupSizeConstants)
+ public MultipleButtonPopup()
{
InitializeComponent();
-
- Size = popupSizeConstants.Medium;
}
async void Cancel_Clicked(object? sender, EventArgs e)
{
- var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
- await CloseAsync(false, cts.Token);
+ await Close(false);
}
async void Okay_Clicked(object? sender, EventArgs e)
{
- var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
- await CloseAsync(true, cts.Token);
+ await Close(true);
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/NoOutsideTapDismissPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/NoOutsideTapDismissPopup.xaml
index 037959d562..8d913140fd 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/NoOutsideTapDismissPopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/NoOutsideTapDismissPopup.xaml
@@ -4,9 +4,10 @@
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
- CanBeDismissedByTappingOutsideOfPopup="False">
+ BackgroundColor="White">
-
+
@@ -34,7 +37,7 @@
Text="Return Result Popup" />
+ Text="This popup returns a value when it is dismissed. The value varies depending if you tap on the CLOSE button or dismiss the popup by tapping outside its bounds." />
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ReturnResultPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ReturnResultPopup.xaml.cs
index 47bfa3f471..166aa1f746 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ReturnResultPopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ReturnResultPopup.xaml.cs
@@ -1,21 +1,14 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Views;
-
namespace CommunityToolkit.Maui.Sample.Views.Popups;
-public partial class ReturnResultPopup : Popup
+public partial class ReturnResultPopup
{
- public ReturnResultPopup(PopupSizeConstants popupSizeConstants)
+ public ReturnResultPopup()
{
InitializeComponent();
-
- Size = popupSizeConstants.Medium;
- ResultWhenUserTapsOutsideOfPopup = "User Tapped Outside of Popup";
}
async void Button_Clicked(object? sender, EventArgs e)
{
- var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
- await CloseAsync("Close button tapped", cts.Token);
+ await Close("Close button tapped");
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml
index cc745a8ff4..f4c67173f2 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml
@@ -1,9 +1,10 @@
-
+ xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
+ BackgroundColor="MediumPurple">
@@ -44,4 +45,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml.cs
index 3e886c62cb..2e491c46e4 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/SimplePopup.xaml.cs
@@ -1,14 +1,9 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Views;
-
namespace CommunityToolkit.Maui.Sample.Views.Popups;
-public partial class SimplePopup : Popup
+public partial class SimplePopup : ContentView
{
- public SimplePopup(PopupSizeConstants popupSizeConstants)
+ public SimplePopup()
{
InitializeComponent();
-
- Size = popupSizeConstants.Small;
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml
index 080cdd3086..c81a4aaec0 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml
@@ -3,14 +3,13 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
xmlns:popups="clr-namespace:CommunityToolkit.Maui.Sample.Views.Popups"
- x:Class="CommunityToolkit.Maui.Sample.Views.Popups.StyleClassPopup" StyleClass="PopupStyle">
+ x:Class="CommunityToolkit.Maui.Sample.Views.Popups.StyleClassPopup"
+ StyleClass="PopupStyle">
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml.cs
index db92e5b37d..98d296a895 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleClassPopup.xaml.cs
@@ -6,7 +6,7 @@ namespace CommunityToolkit.Maui.Sample.Views.Popups;
/// This popup demonstrates how the property can be used to apply
/// a definition to a .
///
-public partial class StyleClassPopup : Popup
+public partial class StyleClassPopup
{
public StyleClassPopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleInheritancePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleInheritancePopup.xaml.cs
index 3d3edc21c6..17fddcb06c 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleInheritancePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/StyleInheritancePopup.xaml.cs
@@ -6,7 +6,7 @@ namespace CommunityToolkit.Maui.Sample.Views.Popups;
/// This popup demonstrates how the property can allow for Popup implementations
/// that inherit from to still use a common definition.
///
-public partial class StyleInheritancePopup : Popup
+public partial class StyleInheritancePopup
{
public StyleInheritancePopup()
{
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml
index ab2e7a8fed..dfe7961292 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml
@@ -3,9 +3,11 @@
x:Class="CommunityToolkit.Maui.Sample.Views.Popups.ToggleSizePopup"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
+ xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
+ BackgroundColor="White">
-
+
@@ -26,7 +28,7 @@
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml.cs
index 276791b39e..dc0b97233f 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml.cs
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/ToggleSizePopup.xaml.cs
@@ -1,28 +1,28 @@
-using CommunityToolkit.Maui.Sample.Models;
-using CommunityToolkit.Maui.Views;
-
namespace CommunityToolkit.Maui.Sample.Views.Popups;
-public partial class ToggleSizePopup : Popup
+public partial class ToggleSizePopup : Maui.Views.Popup
{
readonly Size originalSize;
- public ToggleSizePopup(PopupSizeConstants popupSizeConstants)
+ public ToggleSizePopup()
{
InitializeComponent();
-
- Size = originalSize = popupSizeConstants.Medium;
+ originalSize = new Size(300, 300);
+ WidthRequest = 300;
+ HeightRequest = 300;
}
void Button_Clicked(object? sender, EventArgs e)
{
- if (originalSize == Size)
+ if (originalSize == new Size(WidthRequest, HeightRequest))
{
- Size = new Size(originalSize.Width * 1.25, originalSize.Height * 1.25);
+ WidthRequest = originalSize.Width * 1.25;
+ HeightRequest = originalSize.Height * 1.25;
}
else
{
- Size = originalSize;
+ WidthRequest = originalSize.Width;
+ HeightRequest = originalSize.Height;
}
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Sample/Views/Popups/TransparentPopup.xaml b/samples/CommunityToolkit.Maui.Sample/Views/Popups/TransparentPopup.xaml
index 93eac0bde9..2108b83ba1 100644
--- a/samples/CommunityToolkit.Maui.Sample/Views/Popups/TransparentPopup.xaml
+++ b/samples/CommunityToolkit.Maui.Sample/Views/Popups/TransparentPopup.xaml
@@ -4,7 +4,7 @@
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
- Color="Transparent">
+ BackgroundColor="Transparent">