Giter VIP home page Giter VIP logo

prism-samples-forms's Introduction

Prism Samples Forms

Samples that demonstrate how to use various Prism features with Xamarin.Forms.

Learning Prism

Learn feature by feature how to use Prism in your apps!

# Sample Description
1 Prism Navigation How to use Prism's Uri based navigation to reset the navigation stack, or add pages Modally or Non-Modally
2 Registering Services How to use IContainerRegistry to register services to act as Singletons or Transients within your application.
3 Platform Specific Services How to use Prism to auto inject platform specific dependencies that are registered with the IPlatformInitializer.
4 Delegate Commands How to use DelegateCommands and ObservesCanExecute
4.1 Composite Commands How to use CompositeCommands to invoke commands in multiple unrelated ViewModels from a single interaction.
5 Event Aggregator How to use the IEventAggregator to raise and listen to events. This shows how to use a simple event with a primitive type payload, generic event with payload <T>, and event with custom EventArgs. It also demonstrated how to subscribe to events published in Xamarin.Forms inside native code.
6 Page Dialog Service How to use the IPageDialogService to display alerts and action sheets from within your ViewModels.
7 Dialog Service How to use the DialogService to provide highly customizable experiences within your application.
8 Tabbed Navigation coming soon
9 Master Detail How to use a master detail page with a content page and a tabbed page as children
10 Modules How to use Prism modularization to separate the application logic using IModule, IModuleManager, ModuleCatalog.
11 Module Dependency coming soon
12 ViewModelLocator coming soon
13 ViewModel Initialization How to properly use IAutoInitialize, IInitialize, or IInitializeAsync to do a one time initialization of your ViewModel with the context you need based on the Navigation Parameters, or any other initialization you may need to do.
14 EventToCommandBehavior How to use the EventToCommandBehavior to bind to ViewModel Commands even when there is no Command property on an element.
15 PageBehaviorFactory coming soon
16 PageLifecycleAware How use IPageLifecycleAware to execute code in your ViewModel when the Page appears / disappears.
17 XamlNavigation How to do Prism navigation from within Xaml
18 DeviceService How to use Prism's IDeviceService to get the device's runtime and idiom.
19 NavigationMode How to use the NavigationMode enum to only act on something when navigating back to a view
20 Confirm Navigation coming soon

Advanced Concepts

Sample Description
Popups Plugin Quite often you may find that a Modal page just doesn't cut it. A very popular option is to use Rg.Plugins.Popup. Because this is a 3rd party plugin it requires the use of Prism.Plugins.Popup. This sample shows how to use both Popup Pages for the Dialog Service and with Prism's Navigation Service.
Logging with App Center coming soon
Logging with Syslog coming soon
Logging with Loggly Walks you through using the Logging Plugin with Loggly for Syslog or Http
Using Shiny Lib + Prism coming soon
Using ReactiveUI + Prism coming soon

Sample Apps

Sample Description
Prism Forms Gallery Prism.Forms Gallery demonstrates a number of Prism and Prism.Forms features all in a single app. The goal of this gallery is to make it easy to learn, share, teach, test, and use the material in your presentations and talks.
Contoso Cookbook Contoso Cookbook is a classic Microsoft sample recipe app; first adapted for Xamarin.Forms by Jeff Prosise in 2015 and now updated to use Prism for Xamarin.Forms. Demonstrates how to use a TabbedPage with a DataTemplate for the tabs, and a ListView with DataTemplate for the recipe list on each tab; for a clean professional-looking UI.

Adding or Updating a Sample

A number of topics have been stubbed out. For any existing topic you can simply update the project with the relavent content. Be sure the Project heads are each updated as follows:

  • The Display Name on iOS, Android and UWP should be updated from Prism Sample to be relevent to what your sample is on. It should also be short! (i.e. ViewModelInitialization -> Prism Init, EventToCommandBehavior -> Event 2 Cmd)
  • Please do not change any existing colors or styles. You may add colors / styles if they help but the samples are generally meant to be simple.
  • The Sample's all use com.prismlibrary.prismsample as the Bundle/Package Id. If every sample kept this you would not be able to have samples side by side. Be sure that the final segment prismsample is updated to the lowercase name of the sample (i.e. com.prismlibrary.eventtocommand)

If you're adding a brand new sample be sure to start with a copy of the resources in the Sample Template directory.

prism-samples-forms's People

Contributors

dansiegel avatar hnabbasi avatar brianlagunas avatar almirvuk avatar j-a-ellis avatar rlittlesii avatar scarlettcode avatar ellisnet avatar adam-- avatar stefanossendorf avatar jbachelor avatar jmegner avatar angusgraham avatar bartlannoeye avatar sogetimobilesig avatar d3fkn1ght avatar experimentsandideas avatar sanyandreichuk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.