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.
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.
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.
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.