MPowerKit.Popups
1.3.0
Prefix Reserved
dotnet add package MPowerKit.Popups --version 1.3.0
NuGet\Install-Package MPowerKit.Popups -Version 1.3.0
<PackageReference Include="MPowerKit.Popups" Version="1.3.0" />
paket add MPowerKit.Popups --version 1.3.0
#r "nuget: MPowerKit.Popups, 1.3.0"
// Install MPowerKit.Popups as a Cake Addin #addin nuget:?package=MPowerKit.Popups&version=1.3.0 // Install MPowerKit.Popups as a Cake Tool #tool nuget:?package=MPowerKit.Popups&version=1.3.0
MPowerKit.Popups
.NET MAUI popup library which allows you to open MAUI pages as a popup. Also the library allows you to use very simple and flexible animations for showing popup pages.
Inspired by Rg.Plugins.Popup and Mopups, but implementation is completely different.
It has almost the same PopupPage API as packages above, but improved animations, removed redundant properties as
KeyboardOffset
, changed names of some properties.Improved code and fixed some known bugs, eg Android window insets (system padding) or animation flickering.
Changed API of
PopupService
, now you have an ability to choose a window to show/hide popup on.Under the hood platform specific code does not use custom renderers for
PopupPage
.Hiding keyboard when tapping anywhere on popup except entry field
PopupStack
is not static from now.All API's are public or protected from now, so you can easily override and change implementation as you want
Supported Platforms
- .NET8
- .NET8 for Android (min 23)
- .NET8 for iOS (min 13.0)
- .NET8 for MacCatalyst (min 13.1)
- .NET8 for Windows (min 10.0.17763.0)
Note: .NET8 for Tizen is not supported, but your PRs are welcome.
Setup
Add UseMPowerKitPopups()
to your MauiProgram.cs file as next
builder
.UseMauiApp<App>()
.UseMPowerKitPopups();
Usage
You can use both registered IPopupService
or static singletone PopupService.Current
Inherit your popup page from PopupPage
:
public class YourCustomPopup : PopupPage...
Show popup:
IPopupService _popupService;
YourCustomPopup _popup;
await _popupService.ShowPopupAsync(_popup, animated);
It has overload for showing popup which accepts a window of type Window
, on which the popup will be shown:
IPopupService _popupService;
YourCustomPopup _popup;
await _popupService.ShowPopupAsync(_popup, desiredWindow, animated);
Hide popup (the last one from PopupStack
):
IPopupService _popupService;
await _popupService.HidePopupAsync(animated);
And overload for hiding desired popup:
IPopupService _popupService;
YourCustomPopup _popup;
await _popupService.HidePopupAsync(_popup, animated);
Note: Don't forget to catch informative exceptions;
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios17.5 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst17.5 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.22621 is compatible. |
-
net8.0
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-android34.0
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-ios17.5
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-maccatalyst17.5
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-windows10.0.22621
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MPowerKit.Popups:
Package | Downloads |
---|---|
MPowerKit.Navigation.Popups
.NET MAUI MVVM navigation framework. It supports regular/modal navigation, opening/closing windows, regions, popups |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.3.0 | 213 | 9/9/2024 |
1.2.4 | 130 | 8/30/2024 |
1.2.3 | 108 | 8/28/2024 |
1.2.2 | 101 | 8/28/2024 |
1.2.1 | 194 | 8/15/2024 |
1.2.0 | 132 | 7/30/2024 |
1.1.5 | 154 | 4/22/2024 |
1.1.4 | 155 | 2/15/2024 |
1.1.3 | 111 | 2/15/2024 |
1.1.2 | 150 | 1/21/2024 |
1.1.1 | 199 | 12/18/2023 |
1.1.0 | 111 | 12/18/2023 |
1.0.1 | 141 | 12/15/2023 |
1.0.0 | 111 | 12/15/2023 |