Xamarin.Forms 1.3.0.6280-pre2

This is a prerelease version of Xamarin.Forms.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Xamarin.Forms --version 1.3.0.6280-pre2                
NuGet\Install-Package Xamarin.Forms -Version 1.3.0.6280-pre2                
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.3.0.6280-pre2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Xamarin.Forms --version 1.3.0.6280-pre2                
#r "nuget: Xamarin.Forms, 1.3.0.6280-pre2"                
#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.3.0.6280-pre2&prerelease

// Install Xamarin.Forms as a Cake Tool
#tool nuget:?package=Xamarin.Forms&version=1.3.0.6280-pre2&prerelease                

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.

GitHub repositories (320)

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
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
mono/SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
Version Downloads Last updated
1.4.3.6358-pre2 2,156 4/24/2015
1.4.3.6356-pre1 347 4/21/2015
1.4.2.6359 22,415 4/30/2015
1.4.2.6355 7,015 4/21/2015
1.4.2.6353-pre2 883 3/31/2015
1.4.2.6350-pre1 196 3/30/2015
1.4.1.6349 18,570 3/30/2015
1.4.1.6347-pre2 1,840 3/19/2015
1.4.1.6342-pre1 599 3/10/2015
1.4.0.6341 13,781 3/9/2015
1.4.0.6340-pre2 451 3/6/2015
1.4.0.6336-pre1 490 3/3/2015
1.3.5.6337 2,875 3/5/2015
1.3.5.6335 3,408 3/2/2015
1.3.5.6333-pre1 796 2/17/2015
1.3.4.6332 8,947 2/17/2015
1.3.4.6331-pre4 435 2/13/2015
1.3.4.6329-pre3 238 2/12/2015
1.3.4.6328-pre2 243 2/11/2015
1.3.4.6325-pre1 260 2/9/2015
1.3.3.6323 10,706 2/9/2015
1.3.3.6322-pre3 220 2/6/2015
1.3.3.6321-pre2 371 2/4/2015
1.3.3.6318-pre1 341 2/2/2015
1.3.2.6316 4,359 2/3/2015
1.3.2.6313-pre3 327 1/30/2015
1.3.2.6309-pre2 370 1/28/2015
1.3.2.6299-pre1 940 1/20/2015
1.3.1.6296 16,376 1/4/2015
1.3.1.6294-pre1 2,158 12/24/2014
1.3.0.6292 6,215 12/24/2014
1.3.0.6286-pre4 778 12/19/2014
1.3.0.6284-pre3 615 12/12/2014
1.3.0.6280-pre2 550 12/9/2014
1.3.0.6275-pre1 5,871 11/12/2014
1.2.3.6257 22,720 10/2/2014
1.2.3.6256-pre4 1,170 9/26/2014
1.2.3.6255-pre3 890 9/20/2014
1.2.3.6249-pre2 835 9/9/2014
1.2.3.6246-pre1 2,081 8/15/2014
1.2.2.6243 15,767 7/30/2014
1.2.2.6241-pre3 1,464 7/28/2014
1.2.2.6240-pre2 1,572 7/22/2014
1.2.2.6238-pre1 1,600 7/17/2014
1.2.1.6229 4,990 7/14/2014
1.1.1.6206 10,266 6/19/2014
1.1.0.6201 4,365 6/12/2014
1.0.6197 701 6/4/2014
1.0.6188 4,631 5/28/2014

## Important Notes
This release (1.3.0 final) will be the last release to support the current *Preview* Unified iOS API. The next release will support the *Stable* iOS Unified API, which is not ABI/API compatible. This package is not compatible with the new Stable iOS Unified API. Xamarin.Forms 1.3.1 will be simultaneously released when the Stable Unified API releases to the stable channel.

If you are using the Classic iOS API this change does not affect you.

## New API
- MasterDetailPage.MasterBehavior : Used to control how the MasterDetailPage renderers the split view between the Master and Detail. Allowed values are:

```csharp
public enum MasterBehavior
{
SplitOnLandscape,
Split,
Popover,
SplitOnPortrait
}
```

- VisualElement.Navigation now contains overloads for all Pushing and Popping methods that accept a boolean parameter to enable/disable animations.
- INavigation contains methods needed for more complex navigation scenarios:

```csharp
public interface INavigation
{
IReadOnlyList<Page> NavigationStack { get; }
IReadOnlyList<Page> ModalStack { get; }

void RemovePage (Page page);
void InsertPageBefore (Page page, Page before);

Task PushAsync (Page page);
Task<Page> PopAsync ();
Task PopToRootAsync ();
Task PushModalAsync (Page page);
Task<Page> PopModalAsync ();

Task PushAsync (Page page, bool animated);
Task<Page> PopAsync (bool animated);
Task PopToRootAsync (bool animated);
Task PushModalAsync (Page page, bool animated);
Task<Page> PopModalAsync (bool animated);
}
```
- New member on Page: `protected virtual bool OnBackButtonPressed ()`: Override in order to handle *physical* back button press events. Events bubble down from root page and back up. Unhandled back button events will cause the app to exit. NavigationPage and the Platform still handle the back button as expected, however it is now possible to intercept and modify these behaviors. Not overriding this method retains the existing back button behavior.
- DependencyService now has Register methods for users needing more advanced ways to register dependencies.
- WidthRequest, HeightRequest, MinimumWidthRequest, and MinimumHeightRequest are now BindableProperties
- IViewController, IVisualElementController, and IElementController now available and explicitly implemented on VisualElement. These interfaces will eventually replace all internal API's currently used to communicate between platform renderers and the frontend API.
- IElementController.SetValueFromRenderer allows for updating of BindableProperties from renderers without accidentally clearing bindings.
- XAML now supports text as the content node in Label: `<Label>Hello World</Label>`
- Pin now has a Clicked property for detecting when the user taps or clicks on a Map pin after the information window is visible.
- Layout constructor is now marked protected and not internal

## Bug Fixes

### Core
- Adding a bad Path to a UriImageSource no longer crashes
- Improved XAML error reporting
- Fix crash where calling Navigation.PushAsync from re-initialized View sometimes crashed
- Fix error where cloning a Binding did not clone the Source parameter
- IsPresented is now respected correctly when using MasterDetailPage. May throw exception now if IsPresented is set to a disallowed value with MasterBehavior.
- Several bugs relating to culture invariance in XAML parsing.
- ThicknessConverter no longer depends on device culture
- Label properly resizes after setting Label.FontSize/Font/FontAttributes [Bug](https://bugzilla.xamarin.com/show_bug.cgi?id=24722)
- XAML InitializeComponent calls in some apps this will result in a massive performance improvement when loading pages.
- Serialization now property supports DataMemberAttributes
- ListView and TableView now return consistent sizing across all platforms. This change should not affect most apps, however some apps suffering from inconsistent sizing with ListViews/TableViews should find the situation better.
- Small set of changes to Layout to enable performance optimization with unneeded measure invalidation.

### iOS
- Button.Image is now rendered with original image to match other platforms
- Editor now scrolls to the correct location when a keyboard is shown
- Fix NullReferenceException when assigning to SearchBar.BackgroundColor
- Fix issue where PushModalAsync could sometimes result in a unhandled exception from UIKit.
- MasterDetailPage now disposes of child renderers correctly, resolves a memory leak.
- Fix issue where cells could not be unselected using blank rows.
- WebViewRenderer now uses correct path for finding resources
- Resolve issue where calling CreateViewController multiple times would cause an exception
- Use proxy when downloading images if configured on device.
- Partial swipes on a NavigationPage no longer cause the NavigationPage to get out of sync with the UINavigationController
- ActionSheet now correctly shows on iOS 8
- ActionSheet no longer gets incorrectly positions when rotating while visible.
- Assigning to Application.MainPage now works reliably

### Android
- MasterDetailPage container width now matches android design guidelines on tablets. (No longer insanely wide).
- SwitchCell height is no longer squished
- No longer crashes on Android 5.0
- No longer renders with a black bar at the bottom of Android 5.0 devices
- Other compatibility fixes with Android 5.0
- WebViewRenderer now uses correct path for finding resources
- Fix issue where calling SetPage multiple times would throw an exception
- Fix crash when restarting the Activity introduced in last pre-release
- Assigning to Application.MainPage now works reliably

### WinPhone
- Assigning to Application.MainPage now works reliably
- Application.OnStart now is called correctly

## Still to come
Some things coming post-1.3:

- Android bitmap optimization (automatic downsampling to prevent OOM exceptions with large images)
- WinRT support (Windows & Windows Phone 8.1)
- Bug fixes as always
- CarouselView
- Much much more