Xamarin.Forms 1.4.0.6341

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Xamarin.Forms --version 1.4.0.6341
NuGet\Install-Package Xamarin.Forms -Version 1.4.0.6341
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xamarin.Forms" Version="1.4.0.6341" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Xamarin.Forms --version 1.4.0.6341
#r "nuget: Xamarin.Forms, 1.4.0.6341"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Xamarin.Forms as a Cake Addin
#addin nuget:?package=Xamarin.Forms&version=1.4.0.6341

// Install Xamarin.Forms as a Cake Tool
#tool nuget:?package=Xamarin.Forms&version=1.4.0.6341

Build native UIs for iOS, Android, and Windows Phone from a single, shared C# codebase

Product Compatible and additional computed target framework versions.
MonoAndroid monoandroid10 is compatible. 
MonoTouch monotouch10 is compatible. 
Windows Phone wp8 is compatible.  wp81 was computed. 
Xamarin.iOS xamarinios10 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1.9K)

Showing the top 5 NuGet packages that depend on Xamarin.Forms:

Package Downloads
Rg.Plugins.Popup

Plugin for Xamarin forms. Allows you to open any page as a popup.

Xamarin.FFImageLoading.Forms

Xamarin Library to load images quickly and easily on Xamarin.Forms. Ensure you call CachedImageRenderer.Init() on each platform!!! Features: - Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac and Windows (WinRT, UWP) support - Configurable disk and memory caching - Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage) - Deduplication of similar download/load requests. *(If 100 similar requests arrive at same time then one real loading will be performed while 99 others will wait).* - Error and loading placeholders support - Images can be automatically downsampled to specified size (less memory usage) - Fluent API which is inspired by Picasso naming - SVG / WebP / GIF support - Image loading Fade-In animations support - Can retry image downloads (RetryCount, RetryDelay) - Android bitmap optimization. Saves 50% of memory by trying not to use transparency channel when possible. - Transformations support - BlurredTransformation - CircleTransformation, RoundedTransformation, CornersTransformation, CropTransformation - ColorSpaceTransformation, GrayscaleTransformation, SepiaTransformation, TintTransformation - FlipTransformation, RotateTransformation - Supports custom transformations (native platform `ITransformation` implementations)

Prism.Forms The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Prism provides an implementation of a collection of design patterns that are helpful in writing well structured, maintainable, and testable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more. Prism's core functionality is a shared library targeting the .NET Framework and .NET. Features that need to be platform specific are implemented in the respective libraries for the target platform (WPF, Uno Platform, .NET MAUI and Xamarin Forms). Prism for Xamarin.Forms helps you more easily design and build rich, flexible, and easy to maintain Xamarin.Forms applications. This library provides user interface composition as well as modularity support.

Xamarin.Forms.Maps The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Maps models and renderers for Xamarin.Forms

CarouselView.FormsPlugin

Create Horizontal and Vertical carousels, add page indicators, navigation arrows and much more. “How to” at Github repository.

GitHub repositories (342)

Showing the top 5 popular GitHub repositories that depend on Xamarin.Forms:

Repository Stars
dotnet/maui
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
dotnet/BenchmarkDotNet
Powerful .NET library for benchmarking
reactiveui/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.
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
PrismLibrary/Prism
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..
Version Downloads Last updated
5.0.0.2622 150,741 11/10/2023
5.0.0.2612 240,523 8/11/2023
5.0.0.2599-pre1 26,887 5/10/2023
5.0.0.2578 825,663 3/8/2023
5.0.0.2545 617,153 12/6/2022
5.0.0.2515 994,655 7/25/2022
5.0.0.2478 436,823 6/9/2022
5.0.0.2401 669,555 3/29/2022
5.0.0.2337 844,236 1/25/2022
5.0.0.2291 579,393 12/14/2021
5.0.0.2244 1,956,519 11/15/2021
5.0.0.2196 826,577 10/18/2021
5.0.0.2125 401,508 9/20/2021
5.0.0.2083 905,697 7/12/2021
5.0.0.2012 7,687,914 2/12/2021
5.0.0.1931 240,279 1/25/2021
5.0.0.1905 81,895 1/20/2021
5.0.0.1874 536,553 1/5/2021
5.0.0.1829-pre6 9,209 12/22/2020
5.0.0.1791-pre5 12,713 12/8/2020
5.0.0.1709-pre4 17,064 11/16/2020
5.0.0.1558-pre3 34,773 10/15/2020
5.0.0.1539-pre2 3,267 10/7/2020
5.0.0.1487-pre1 7,608 9/23/2020
4.8.0.1821 779,314 12/18/2020
4.8.0.1687 634,289 11/12/2020
4.8.0.1560 524,038 10/15/2020
4.8.0.1534 145,850 10/7/2020
4.8.0.1451 652,379 9/16/2020
4.8.0.1364 358,753 8/31/2020
4.8.0.1269 519,717 8/6/2020
4.8.0.1238-pre3 4,986 7/30/2020
4.8.0.1187-pre2 6,032 7/23/2020
4.8.0.1143-pre1 3,579 7/15/2020
4.7.0.1351 435,865 8/27/2020
4.7.0.1260 131,906 8/5/2020
4.7.0.1239 106,068 7/30/2020
4.7.0.1179 151,915 7/22/2020
4.7.0.1142 133,755 7/15/2020
4.7.0.1080 193,502 7/1/2020
4.7.0.968 5,016,478 6/17/2020
4.7.0.937-pre4 14,027 6/11/2020
4.7.0.848-pre3 7,514 6/4/2020
4.7.0.813-pre2 8,247 5/19/2020
4.7.0.773-pre1 7,268 5/14/2020
4.6.0.1180 57,339 7/22/2020
4.6.0.1141 103,822 7/14/2020
4.6.0.1073 13,859 7/1/2020
4.6.0.967 61,869 6/17/2020
4.6.0.847 261,108 6/4/2020
4.6.0.800 377,583 5/19/2020
4.6.0.726 394,819 4/29/2020
4.6.0.616-pre4 13,832 4/9/2020
4.6.0.529-pre3 5,379 4/2/2020
4.6.0.494-pre2 7,211 3/25/2020
4.6.0.379-pre1 11,858 3/5/2020
4.5.0.725 146,170 4/29/2020
4.5.0.657 385,142 4/23/2020
4.5.0.617 1,913,324 4/9/2020
4.5.0.530 182,759 4/1/2020
4.5.0.495 221,004 3/25/2020
4.5.0.396 157,537 3/16/2020
4.5.0.356 540,388 2/26/2020
4.5.0.282-pre4 11,659 2/10/2020
4.5.0.266-pre3 4,037 2/5/2020
4.5.0.187-pre2 14,711 1/23/2020
4.5.0.142-pre1 5,665 1/13/2020
4.4.0.991864 110,456 3/23/2020
4.4.0.991757 91,076 2/26/2020
4.4.0.991640 231,383 2/5/2020
4.4.0.991537 155,248 1/23/2020
4.4.0.991477 155,571 1/10/2020
4.4.0.991265 439,731 12/12/2019
4.4.0.991220-pre3 5,701 12/4/2019
4.4.0.991210-pre2 16,853 11/14/2019
4.4.0.936621-pre1 12,810 10/31/2019
4.3.0.991250 95,961 12/12/2019
4.3.0.991221 96,464 12/4/2019
4.3.0.991211 243,655 11/14/2019
4.3.0.947036 208,661 10/29/2019
4.3.0.908675 393,994 10/21/2019
4.3.0.851321-pre3 17,411 10/2/2019
4.3.0.819712-pre2 18,142 9/19/2019
4.3.0.778476-pre1 22,737 9/11/2019
4.2.0.910310 104,592 10/21/2019
4.2.0.848062 290,151 10/2/2019
4.2.0.815419 165,407 9/19/2019
4.2.0.778463 108,606 9/11/2019
4.2.0.709249 339,265 8/21/2019
4.2.0.673161-pre3 17,450 8/7/2019
4.2.0.618605-pre2 18,697 7/24/2019
4.2.0.608146-pre1 12,730 7/16/2019
4.1.0.778454 53,030 9/11/2019
4.1.0.709244 55,424 8/21/2019
4.1.0.673156 176,216 8/7/2019
4.1.0.618606 174,428 7/24/2019
4.1.0.581479 232,357 7/9/2019
4.1.0.555618 531,963 6/28/2019
4.1.0.496342-pre2 16,067 6/13/2019
4.1.0.483098-pre1 13,254 6/5/2019
4.0.0.709238 42,970 8/21/2019
4.0.0.618610 13,684 7/24/2019
4.0.0.540366 114,166 6/27/2019
4.0.0.497661 122,505 6/13/2019
4.0.0.482894 102,522 6/3/2019
4.0.0.425677 402,007 5/14/2019
4.0.0.394984-pre10 17,030 5/3/2019
4.0.0.346134-pre9 29,262 4/18/2019
4.0.0.304370-pre8 22,173 4/3/2019
4.0.0.250467-pre7 15,881 3/20/2019
4.0.0.232914-pre6 15,860 3/14/2019
4.0.0.169046-pre5 13,538 2/21/2019
4.0.0.135214-pre4 11,676 2/6/2019
4.0.0.94569-pre3 10,677 1/24/2019
4.0.0.62955-pre2 25,675 1/10/2019
4.0.0.8055-pre1 25,535 12/4/2018
3.6.0.709228 100,298 8/21/2019
3.6.0.539721 69,560 6/27/2019
3.6.0.344457 2,428,345 4/18/2019
3.6.0.293080 161,079 4/3/2019
3.6.0.264807 248,756 3/19/2019
3.6.0.220655 347,755 3/6/2019
3.6.0.169048-pre2 7,486 2/21/2019
3.6.0.135200-pre1 14,790 2/6/2019
3.5.0.274416 75,161 3/26/2019
3.5.0.169047 7,340,641 2/20/2019
3.5.0.129452 384,428 2/6/2019
3.5.0.94564-pre3 6,959 1/24/2019
3.5.0.62956-pre2 7,203 1/10/2019
3.4.0.1039999 38,365 3/26/2019
3.4.0.1029999 152,707 1/24/2019
3.4.0.1009999 222,155 1/4/2019
3.4.0.1008975 800,098 11/15/2018
3.4.0.987044-pre2 7,791 11/8/2018
3.4.0.925479-pre1 33,718 10/18/2018
3.3.0.967583 290,486 11/1/2018
3.3.0.912540 1,252,202 10/18/2018
3.3.0.893527-pre3 16,176 10/11/2018
3.3.0.871608-pre2 23,524 10/1/2018
3.3.0.840541-pre1 14,982 9/20/2018
3.2.0.871581 280,810 10/3/2018
3.2.0.839982 320,234 9/17/2018
3.2.0.809874-pre3 12,070 9/10/2018
3.2.0.729530-pre2 22,737 8/14/2018
3.2.0.637442-pre1 19,906 7/17/2018
3.1.0.697729 955,015 8/1/2018
3.1.0.637273 162,357 7/11/2018
3.1.0.583944 263,608 6/20/2018
3.1.0.561732-pre4 15,283 6/11/2018
3.1.0.550168-pre3 9,057 6/6/2018
3.1.0.530888-pre2 8,255 6/4/2018
3.1.0.469394-pre1 22,941 5/9/2018
3.0.0.561731 208,823 6/11/2018
3.0.0.550146 42,835 6/6/2018
3.0.0.530893 42,190 6/4/2018
3.0.0.482510 553,453 5/14/2018
3.0.0.446417 394,148 5/1/2018
3.0.0.427558-pre4 17,041 4/25/2018
3.0.0.354232-pre3 21,419 4/5/2018
3.0.0.296286-pre2 15,073 3/20/2018
2.5.1.527436 345,440 5/4/2018
2.5.1.444934 271,983 4/4/2018
2.5.1.392594-pre3 9,783 3/21/2018
2.5.1.340284-pre2 13,897 3/9/2018
2.5.1.317207-pre1 10,949 3/1/2018
2.5.0.280555 593,610 2/16/2018
2.5.0.122203 972,313 12/18/2017
2.5.0.121934 1,385,174 11/28/2017
2.5.0.91635 382,361 11/16/2017
2.5.0.77107 87,072 11/13/2017
2.5.0.75255-pre3 11,834 11/10/2017
2.5.0.19271-pre2 16,598 10/20/2017
2.4.0.91020 75,368 11/16/2017
2.4.0.74863 52,631 11/10/2017
2.4.0.38779 85,742 10/30/2017
2.4.0.18342 72,909 10/20/2017
2.4.0.282 266,088 9/29/2017
2.4.0.280 948,521 9/27/2017
2.4.0.275-pre3 18,203 9/19/2017
2.4.0.269-pre2 26,191 8/29/2017
2.4.0.266-pre1 40,379 8/16/2017
2.3.5.256-pre6 50,019 6/29/2017
2.3.5.255-pre5 12,101 6/26/2017
2.3.5.239-pre3 37,086 5/11/2017
2.3.5.235-pre2 17,590 4/26/2017
2.3.5.233-pre1 16,047 4/13/2017
2.3.4.270 400,966 8/29/2017
2.3.4.267 97,445 8/16/2017
2.3.4.247 675,121 5/16/2017
2.3.4.231 318,157 4/12/2017
2.3.4.224 322,050 3/29/2017
2.3.4.221-pre6 15,297 3/27/2017
2.3.4.214-pre5 16,948 3/14/2017
2.3.4.212-pre4 12,406 3/10/2017
2.3.4.211-pre3 10,141 3/9/2017
2.3.4.192-pre2 26,924 2/3/2017
2.3.4.184-pre1 20,703 1/13/2017
2.3.3.193 343,420 2/1/2017
2.3.3.180 329,910 1/5/2017
2.3.3.175 136,049 12/6/2016
2.3.3.168 86,372 11/23/2016
2.3.3.166-pre4 13,357 11/3/2016
2.3.3.163-pre3 11,570 10/17/2016
2.3.3.152-pre2 22,059 9/15/2016
2.3.2.127 612,099 9/14/2016
2.3.2.118-pre1 11,729 8/3/2016
2.3.1.114 236,639 8/3/2016
2.3.1.113-pre3 8,739 7/19/2016
2.3.1.111-pre2 9,618 7/4/2016
2.3.1.110-pre1 7,061 6/29/2016
2.3.0.107 270,746 6/29/2016
2.3.0.49 153,638 6/16/2016
2.3.0.46-pre3 21,501 5/30/2016
2.3.0.38-pre2 20,312 4/27/2016
2.3.0.34-pre1 15,637 4/27/2016
2.2.0.45 171,253 5/30/2016
2.2.0.31 216,613 4/27/2016
2.2.0.23-pre4 7,321 4/20/2016
2.2.0.18-pre3 7,311 4/20/2016
2.2.0.5-pre2 20,847 4/8/2016
2.2.0.4-pre1 23,846 4/5/2016
2.1.0.6529 161,994 3/13/2016
2.1.0.6526 26,989 3/9/2016
2.1.0.6524 48,759 3/2/2016
2.1.0.6521 21,507 3/1/2016
2.1.0.6517-pre5 6,740 2/18/2016
2.1.0.6513-pre4 6,985 2/9/2016
2.1.0.6508-pre3 6,933 1/28/2016
2.1.0.6503-pre2 11,406 1/22/2016
2.1.0.6501-pre1 6,060 1/21/2016
2.1.0.6500-pre1 6,014 1/20/2016
2.0.1.6505 163,954 1/28/2016
2.0.1.6495 87,555 1/20/2016
2.0.1.6492-pre1 8,421 12/3/2015
2.0.0.6490 239,209 12/1/2015
2.0.0.6484 34,554 11/21/2015
2.0.0.6482 367,072 11/17/2015
1.5.2.6478-pre3 5,425 11/17/2015
1.5.2.6477-pre2 8,766 11/10/2015
1.5.2.6469-pre1 6,522 10/20/2015
1.5.1.6471 97,426 10/20/2015
1.5.1.6468 17,030 10/20/2015
1.5.1.6460-pre2 5,898 10/13/2015
1.5.1.6455-pre1 7,703 10/2/2015
1.5.0.6447 162,972 9/25/2015
1.5.0.6446 33,002 9/16/2015
1.5.0.6404-pre3 7,480 8/25/2015
1.5.0.6401-pre2 6,156 8/21/2015
1.5.0.6396-pre1 6,821 8/5/2015
1.4.4.6449 7,799 9/25/2015
1.4.4.6443 6,751 9/16/2015
1.4.4.6392 267,076 7/29/2015
1.4.4.6391 7,584 7/28/2015
1.4.4.6387 10,505 7/27/2015
1.4.4.6379-pre3 5,693 7/20/2015
1.4.4.6378-pre2 5,713 7/16/2015
1.4.4.6377-pre1 5,684 7/14/2015
1.4.3.6376 74,405 7/9/2015
1.4.3.6374 34,906 7/1/2015
1.4.3.6372 7,739 6/30/2015
1.4.3.6364-pre3 6,742 6/16/2015
1.4.3.6358-pre2 11,302 4/24/2015
1.4.3.6356-pre1 5,785 4/21/2015
1.4.2.6359 112,961 4/30/2015
1.4.2.6355 28,483 4/21/2015
1.4.2.6353-pre2 7,948 3/31/2015
1.4.2.6350-pre1 5,728 3/30/2015
1.4.1.6349 64,016 3/30/2015
1.4.1.6347-pre2 7,625 3/19/2015
1.4.1.6342-pre1 6,876 3/10/2015
1.4.0.6341 44,220 3/9/2015
1.4.0.6340-pre2 6,869 3/6/2015
1.4.0.6336-pre1 7,947 3/3/2015
1.3.5.6337 12,391 3/5/2015
1.3.5.6335 45,683 3/2/2015
1.3.5.6333-pre1 7,223 2/17/2015
1.3.4.6332 33,745 2/17/2015
1.3.4.6331-pre4 6,010 2/13/2015
1.3.4.6329-pre3 5,647 2/12/2015
1.3.4.6328-pre2 5,577 2/11/2015
1.3.4.6325-pre1 6,798 2/9/2015
1.3.3.6323 81,704 2/9/2015
1.3.3.6322-pre3 5,516 2/6/2015
1.3.3.6321-pre2 5,784 2/4/2015
1.3.3.6318-pre1 5,711 2/2/2015
1.3.2.6316 34,006 2/3/2015
1.3.2.6313-pre3 5,726 1/30/2015
1.3.2.6309-pre2 5,931 1/28/2015
1.3.2.6299-pre1 6,558 1/20/2015
1.3.1.6296 101,407 1/4/2015
1.3.1.6294-pre1 9,522 12/24/2014
1.3.0.6292 34,772 12/24/2014
1.3.0.6286-pre4 6,868 12/19/2014
1.3.0.6284-pre3 6,278 12/12/2014
1.3.0.6280-pre2 6,764 12/9/2014
1.3.0.6275-pre1 12,227 11/12/2014
1.2.3.6257 64,154 10/2/2014
1.2.3.6256-pre4 6,476 9/26/2014
1.2.3.6255-pre3 7,334 9/20/2014
1.2.3.6249-pre2 6,396 9/9/2014
1.2.3.6246-pre1 8,875 8/15/2014
1.2.2.6243 43,410 7/30/2014
1.2.2.6241-pre3 6,957 7/28/2014
1.2.2.6240-pre2 8,815 7/22/2014
1.2.2.6238-pre1 8,141 7/17/2014
1.2.1.6229 14,539 7/14/2014
1.1.1.6206 19,521 6/19/2014
1.1.0.6201 21,244 6/12/2014
1.0.6197 21,939 6/4/2014
1.0.6188 17,940 5/28/2014

## Important Notes ##

This is a feature release. As such unlike a patch version bump, the minor version bump indicates the inclusion of new APIs.

## New API ##

### ScrollView ###

It is now possible to detect the current scroll offset of the ScrollView. These are readonly bindable properties.
```csharp
public double ScrollX { get; }
public double ScrollY { get; }
```

There are also methods which can be used to perform scrolling in the ScrollView.
```csharp
public Task ScrollToAsync (double x, double y, bool animated);
public Task ScrollToAsync (Element element, bool animated);
```
The `Element` passed to `ScrollToAsync` must be a descendant of the `ScrollView` but does not have to be a direct child.

Finally for those who do not wish to use bindings to observe scrolling, there is a `Scrolled` event that fires when `ScrollX` or `ScrollY` are updated.
```csharp
public event EventHandler<ScrolledEventArgs> Scrolled;

public class ScrolledEventArgs : EventArgs
{
   public double ScrollX { get; } = 0;
   public double ScrollY { get; } = 0;
}
```
Lastly ScrollView no longer uses any internal API to communicate between the frontend and the renderer. `IScrollViewController`, which is implemented explicitly on ScrollView can be used to trigger these and other events.

### ListView ###

**Separator Enhancements**
It is now possible to enable/disable separators for the ListView. This can be configured via the `SeparatorVisibility` property, which is bindable.
```csharp
public SeparatorVisibility SeparatorVisibility { get; set; } = SeparatorVisibility.Default;

public enum SeparatorVisibility {
   Default = 0,
   None = 1,
}
```
Currently there is no option for `Always` as not all platforms have separators as part of their UX. We are considering adding this in the future, however it would be an invented paradigm for Windows platforms.

It is now possible to apply a `Color` to the separator in ListView.
```csharp
public Color SeparatorColor { get; set; } = Color.Default;
```
The default value is `Color.Default` and will function unchanged from the 1.3.0 implementation if left untouched. RGBA values are supported. This function does nothing in `SeparatorVisibility` is set to `None`. Please note that setting either of these properties on Android after loading the `ListView` incurs a large performance penalty.

**Header/Footer**
`ListView` has also grown both a Header and a Footer. These are managed through a series of properties which enable everything from simple usage to more complex MVVM style usage. With Header/Footer the primary reason developers have in the past been forced to put ListViews inside of ScrollViews is finally dead! If you are still placing a ListView inside a ScrollView we strongly suggest you consider porting.
```csharp
public object Header { get; set; } = null;
public DataTemplate HeaderTemplate { get; set; } = null;
public object Footer { get; set; } = null;
public DataTemplate FooterTemplate { get; set; } = null;
```
It is important to note that Header or Footer may be set directly to a View and the Template properties left null. This will cause the Header/Footer to be directly consumed by the renderer. All of these properties are bindable.

**Pull To Refresh**
PullToRefresh has been enabled on all current target platforms for ListView. To enable PullToRefresh in your app simple set `IsPullToRefreshEnabled` to true and make sure you respond to the correct events. It is important to note that this is the "easy" version of this API, in the future a more complete API with a standalone View may be added.
```csharp
public event EventHandler Refreshing;

public bool IsPullToRefreshEnabled { get; set; } = false;
public bool IsRefreshing { get; set; } = false;
public ICommand RefreshCommand { get; set; } = null;

public void BeginRefresh ();
public void EndRefresh ();
```
When the user triggers a `PullToRefresh` the Command will be invoked and the `Refreshed` event emitted. `IsRefreshing` will be set to true. The `ICommand.CanExecute` property is respected. The user must either call `EndRefresh` or assign `IsRefreshing` to false in order to end the refresh state.

All control parameters for these features and more are exposed through the IListViewController interface, which is explicitly implemented on ListView. This will assist those wishing to modify how these features work in custom renderers.

The Windows Phone implementation of PullToRefresh is a custom implementation as there is no platform idiom for doing this. In the future if the Windows platform decided to add a method of doing PullToRefresh by default, we intend to port.

### Forms.Application ###

The `Application` class now exposes 4 new events for dealing with Modal navigation.
```csharp
public event EventHandler<ModalPushedEventArgs> ModalPushed;
public event EventHandler<ModalPoppedEventArgs> ModalPopped;
public event EventHandler<ModalPushingEventArgs> ModalPushing;
public event EventHandler<ModalPoppingEventArgs> ModalPopping;
```
The `ModalPoppingEventArgs` contains a `Cancel` property which if set to true will cancel the Pop event and cause the application to enter the background (the operating system is informed of the unhandled back event).

In order to implement this feature, all pre-Application methods of creating a Forms app have been updated to create a default `Application` which is set as the root pages `Parent`. It is possible this may cause issues in some edge cases, if you have any issues please file a bug report. It is suggested you update your app to the new LoadApplication initialization methodology if possible.

Application now has a method of manually forcing the `Properties` dictionary to be saved to the IsolatedFileStore. This is to allow users to save their properties when it makes sense for them rather than risk them not getting serialized out due to a crash/being killed by the OS.
```csharp
public Task SavePropertiesAsync ()
```

### OpenGLRenderer ###

On Android `OpenGLRenderer` has been renamed `OpenGLViewRenderer` for consistency.

### Layout ###
Layout now contains a `ILayoutController` class which has an `IReadOnlyList<Element>` which can be used to enumerate the children of a Layout regardless of the type of the Layout.

## Other Features ##

- WebView now correctly supports javascript out of the box on Windows Phone 8.0

## Bug Fixes ##

- [Bug 27063](https://bugzilla.xamarin.com/show_bug.cgi?id=27063) - Navigation not always returning to the proper page.
- [Bug 27225](https://bugzilla.xamarin.com/show_bug.cgi?id=27225) - Secondary ToolbarItems cause app to hang during PushAsync
- [Bug 27437](https://bugzilla.xamarin.com/show_bug.cgi?id=27437) - [iOS] Context menu error after deleting an item from a ListView using ContextActions
- [Bug 27096](https://bugzilla.xamarin.com/show_bug.cgi?id=27096) - EntryCell has different fontsize on Android
- [Bug 21317](https://bugzilla.xamarin.com/show_bug.cgi?id=21317) - Stepper control .IsEnabled doesn't work on Android
- [Bug 26338](https://bugzilla.xamarin.com/show_bug.cgi?id=26338) - Unable to change page BackgroundImage from code
- [Bug 26588](https://bugzilla.xamarin.com/show_bug.cgi?id=26588) - [WinPhone] Entry does not trigger numeric keyboard when password masking is enabled
- [Bug 27072](https://bugzilla.xamarin.com/show_bug.cgi?id=27072) - Listview Context Actions not removed if a different item is tapped in Android

## Other Fixes ##

- Stepper default values now can be correctly inherited through a style.
- x:Static now correctly reports position on error in XAML.
- XAML now throws a more user friendly error on duplicate x:Name
- XAML will now use implicit operators when assigning values to properties
- XAML now supports baseclass indication for collection properties
- XAML string literals are now supported with `{}foo`
- iOS6 Modal pages should no longer sometimes have a 20px offset for no reason