All Projects → dansiegel → Prism.plugin.popups

dansiegel / Prism.plugin.popups

Licence: mit
This provides extensibility for Prism.Forms INavigationService to handle Popup Views

Projects that are alternatives of or similar to Prism.plugin.popups

Prism
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..
Stars: ✭ 4,842 (+3149.66%)
Mutual labels:  hacktoberfest, prism, xamarin-forms
PrismHandsOn
Prism for Xamarin.Forms入門 Hands-on
Stars: ✭ 22 (-85.23%)
Mutual labels:  prism, xamarin-forms
Prism-Templates
Prism Templates using the DotNet New cli
Stars: ✭ 13 (-91.28%)
Mutual labels:  prism, xamarin-forms
Prism Samples Forms
Samples that demonstrate how to use various Prism features with Xamarin.Forms
Stars: ✭ 327 (+119.46%)
Mutual labels:  prism, xamarin-forms
Xamarin.forms.mocks
Library for running Xamarin.Forms inside of unit tests
Stars: ✭ 179 (+20.13%)
Mutual labels:  hacktoberfest, xamarin-forms
prism-xamarin-forms
Tradução da documentação oficial do Prism com exemplos de uso
Stars: ✭ 81 (-45.64%)
Mutual labels:  prism, xamarin-forms
Open Source Xamarin Apps
📱 Collaborative List of Open Source Xamarin Apps
Stars: ✭ 318 (+113.42%)
Mutual labels:  hacktoberfest, xamarin-forms
xamarin-mvvvm-frameworks
A Comparison of MVVM Frameworks for Xamarin Projects
Stars: ✭ 44 (-70.47%)
Mutual labels:  prism, xamarin-forms
Cardview
CardsView | CarouselView | CoverflowView | CubeView for Xamarin.Forms
Stars: ✭ 587 (+293.96%)
Mutual labels:  hacktoberfest, xamarin-forms
Xamarin.forms
Xamarin.Forms Official Home
Stars: ✭ 5,485 (+3581.21%)
Mutual labels:  hacktoberfest, xamarin-forms
Movies
Buy movie tickets in advance, find movie times, and more at "Movies".
Stars: ✭ 33 (-77.85%)
Mutual labels:  prism, xamarin-forms
Prism.plugin.pagedialogs
Note this project is no longer needed as the new Dialog Service in Prism 7.2 accomplishes everything this aimed to solve.
Stars: ✭ 13 (-91.28%)
Mutual labels:  prism, xamarin-forms
Hotreload
Xamarin.Forms XAML hot reload, live reload, live xaml
Stars: ✭ 407 (+173.15%)
Mutual labels:  hacktoberfest, xamarin-forms
Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+4402.68%)
Mutual labels:  hacktoberfest, xamarin-forms
Prism Documentation
Stars: ✭ 131 (-12.08%)
Mutual labels:  prism, xamarin-forms
Django Sql Explorer
Easily share data across your company via SQL queries. From Grove Collab.
Stars: ✭ 1,958 (+1214.09%)
Mutual labels:  hacktoberfest
Znc
Official repository for the ZNC IRC bouncer
Stars: ✭ 1,851 (+1142.28%)
Mutual labels:  hacktoberfest
Rom Rails
Rails integration for Ruby Object Mapper
Stars: ✭ 146 (-2.01%)
Mutual labels:  hacktoberfest
Librobotcontrol
Robotics Focused library for embedded Linux computers.
Stars: ✭ 146 (-2.01%)
Mutual labels:  hacktoberfest
Hacktoberfest Swag
Looking for hacktoberfest swag? You've come to the right place.
Stars: ✭ 148 (-0.67%)
Mutual labels:  hacktoberfest

Prism.Plugin.Popups

The Popups plugin provides an extremely lightweight framework for implementing Popup Pages using the Rg.Plugin.Popup package with Prism.Forms. To do this we simply provide you with some new implementations of both Prism's Navigation & Dialog Services.

Platform Build Status
VSTS Build Build Status
Package NuGet Sponsor Connect
Prism.Plugin.Popups PluginNuGetShield PluginSponsorConnectShield

Want to consume the CI packages? Sign up as a GitHub sponsor and you can access the Sponsor Connect private feed.

Support

If this project helped you reduce time to develop and made your app better, please be sure to star the project help support Dan.

GitHub Sponsors

Usage

NOTE: We have changed versioning to now follow the Major.Minor from the Prism version that the Popup Plugin is built against. This should help avoid confusion with compatibility particularly as many issues were being reported because developers were updating to a preview of Prism but remaining on the stable build from the Popups Plugin

Getting Started

Install the Prism.Plugin.Popups NuGet to your project. Notice that this has no dependency on a specific DI Container thus allowing your code to work with any container of your choice.

This plugin does not remove any platform initialization requirements that Rg.Plugins.Popup has. Be sure that you have followed all of the Rg.Plugins.Popup guidelines for initializing each Platform (iOS/Android,etc).

To use the plugin you will need to update the Registration for INavigationService. To do this you simply need to add the following:

protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
    // This updates INavigationService and registers PopupNavigation.Instance
    containerRegistry.RegisterPopupNavigationService();
}

It's worth noting that there is a generic overload for the registration method that accepts any type that inherits from PopupPageNavigationService in the event that you have custom logic you need to execute in the NavigationService. The RegisterPopupNavigationService method will also register IPopupNavigation from PopupNavigation.Instance for you.

Prism's underlying Page Navigation Service has a dependency on IPageBehaviorFactory. In order to handle navigation events from tapping outside of (and closing) the PopupPage, this plugin relies on the PopupPageBehaviorFactory which is also registered by the registration method shown above. If you are registering your own custom implementation, be sure to either add the BackgroundPopupDismissalBehavior to PopupPages, or simply inherit from the PopupPageBehaviorFactory.

NOTE: All initializations for Rg.Plugins.Popup should be done in Platform code, the Registrations for the NavigationService should be done in your PrismApplication. No additional initialization is required inside of Prism Modules.

Navigation

There is nothing different about navigating with Popup Pages than Navigating with normal pages. You can even deep link with Popup Pages. The only difference that you will encounter is that when Navigating from a Popup Page to a normal Xamarin.Forms Page, it will Pop any Popup Pages that are currently in the Popup Stack.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].