Xamarin.Forms Application Fundamentals
Tips to incorporate accessible features (like supporting screen-reading tools) with Xamarin.Forms.
Application class is the starting point for Xamarin.Forms – every app needs to implement a subclass
App to set the initial page. It also provides the
Properties collection for simple data storage. It can be defined in either C# or XAML.
OnResume methods, as well as modal navigation events, let you handle application lifecycle events with custom code.
Application indexing allows applications that would otherwise be forgotten after a few uses to stay relevant by appearing in search results. Deep linking allows applications to respond to a search result that contains application data, typically by navigating to a page referenced from a deep link.
User interface controls can be easily extended without subclassing by using behaviors to add functionality.
Custom Renders let developers 'override' the default rendering of Xamarin.Forms controls to customize their appearance and behavior on each platform (using native SDKs if desired).
Data binding links the properties of two objects, allowing changes in one property to be automatically reflected in the other property. Data binding is an integral part of the Model-View-ViewModel (MVVM) application architecture.
DependencyService provides a simple locator so that you can code to interfaces in your shared code and provide platform-specific implementations that are automatically resolved, making it easy to reference platform-specific functionality in Xamarin.Forms.
Effects allow the native controls on each platform to be customized, and are typically used for small styling changes.
File handling with Xamarin.Forms can be achieved using code in a .NET Standard library, or by using embedded resources.
GestureRecognizer class supports tap, pinch, and pan gestures on user interface controls.
The built-in .NET localization framework can be used to build cross-platform multilingual applications with Xamarin.Forms.
Xamarin.Forms supports database-driven applications using the SQLite database engine, which makes it possible to load and save objects in shared code.
MessagingCenter enables view models and other components to communicate with without having to know anything about each other besides a simple Message contract.
Xamarin.Forms provides a number of different page navigation experiences, depending upon the
Page type being used.
Xamarin.Forms Shell is a container for applications, that provides fundamental UI features that most applications require, leaving you to focus on the application's core workload.
Control templates provide the ability to easily theme and re-theme application pages at runtime, while data templates provide the ability to define the presentation of data on supported controls.
Update controls by responding to property changes and events in XAML.