Xamarin.Forms by Xamarin Inc.

<PackageReference Include="Xamarin.Forms" Version="2.3.3.152-pre2" />

 Xamarin.Forms 2.3.3.152-pre2

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

<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
  <metadata>
    <id>Xamarin.Forms</id>
    <version>2.3.3.152-pre2</version>
    <authors>Xamarin Inc.</authors>
    <owners>Xamarin Inc.</owners>
    <licenseUrl>http://download.xamarin.com/content/licenses/Xamarin.Forms.rtf</licenseUrl>
    <projectUrl>http://xamarin.com/forms</projectUrl>
    <iconUrl>http://xamarin.com/content/images/nuget/xamarin.png</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Build native UIs for iOS, Android, and Windows Phone from a single, shared C# codebase</description>
    <releaseNotes>### Important notes

* Xamarin.Forms 2.3.3 depends on a Xamarin installation of Cycle 8. Users upgrading from Xamarin.Forms 2.3.2 (or earlier) will experience numerous compile errors if they attempt to build without first upgrading their Xamarin installation.
* When upgrading Xamarin.Forms take care not to simply "update all" as that will update the Xamarin.Android.Support packages to an incompatible version. More info [here](https://developer.xamarin.com/guides/xamarin-forms/troubleshooting/).
* In 2.3.3 we are deprecating Classic support (More info [here](https://developer.xamarin.com/guides/cross-platform/macios/unified/)).


# 2.3.3-pre2

Nuget package [here]().

## New Features

#### Support native view declaration in Xaml

The following Xaml is valid, and works as expected:

```
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
			 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
			 xmlns:ios="clr-namespace:UIKit;assembly=Xamarin.iOS;targetPlatform=iOS"
			 xmlns:android="clr-namespace:Android.Views;assembly=Mono.Android;targetPlatform=Android"
			 x:Class="Xamarin.Forms.Controls.XamlNativeViews"&gt;
	&lt;ContentPage.Content&gt;
		&lt;ios:UILabel Text="I'm Native" /&gt;
		&lt;android:TextView  Text="I'm Native too" /&gt;
	&lt;/ContentPage.Content&gt;
&lt;/ContentPage&gt;
```

- native views are automagically wrapped into the appropriate wrapper
- xmlns  defined on a non-matching targetPlatform (see TargetPlatform enumeration) are ignored


#### NativeBindings
Allow binding to Native (non-BP) Views.

Each platform now expose `SetBinding(string propertyName, BindingBase binding)` as an extension method on the respective native views (`UIView`, `Android.View`, `FrameworkElement`).

To get 2-Way Bindings to work, `SetBinding` can take an additional `updateSourceEventName` argument. On iOS, if the Property of the `UIView` is Observable, the `updateSourceEventName` is not mandatory. On [U]WP, something similar is done in order to try to get 2-Way bindings to behave even without the updateSourceEventName.

In addition to this, the platforms also expose `SetValue(BindableProperty property, ...)` and `SetBinding(BindableProperty property, ...)`. Those will have no effect unless the view happen to be directly wrapped in a Xamarin.Forms Layout. In that case, those (attached) BindableProperties will be transferred to the wrapper, allowing this kind of code to be valid.

```
var btn = new UIKit.Button();
btn.SetValue(Grid.RowProperty, 2); 

var grid = new Xamarin.Forms.Grid ();
grid.Children.Add(btn.ToView());
```

#### Platform Specifics
*Introducing Platform Specifics!* Features or behaviors that apply to one platform only can now be implemented without requiring custom renderers. These new features/behaviors can then be accessed easily via a fluent code API or XAML.

Vendors can easily add their own Platform Specifics by attaching Effects to them (see [63a924d](https://github.com/xamarin/Xamarin.Forms/commit/63a924d) and [1f9482e](https://github.com/xamarin/Xamarin.Forms/commit/1f9482e4b5969f19fcde5c691443fcccc848c54e) for complete example).

This feature implements the framework that enables the new API and also includes several examples of platform specific features, which can be previewed using the Platform Specifics gallery page:

* Blur support for any VisualElement on iOS
* Translucent navigation bar on iOS
* Partially collapsed navigation bar (with icons!) on MasterDetailPage on Windows
* Toolbar placement options on Windows
* AdjustResize/AdjustPan on Android (known issue: AdjustResize disables status bar color)

## Bug Fixes
* [32733](https://bugzilla.xamarin.com/show_bug.cgi?id=32733) - "32733 – Switching Activity crash in 1.4.4.6392" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/286))
* [35132](https://bugzilla.xamarin.com/show_bug.cgi?id=35132) - "35132 – Pages are not collected when using a Navigationpage"
* [39768](https://bugzilla.xamarin.com/show_bug.cgi?id=39768) - "PanGestureRecognizer sometimes won't fire completed event when dragging very slowly" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/313))
* [39908](https://bugzilla.xamarin.com/show_bug.cgi?id=39908) - "Back button hit quickly results in jumbled pages" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/291))
* [41463](https://bugzilla.xamarin.com/show_bug.cgi?id=41463) - "CarouselView Crashes with "Sequence Does not Contain a Matching Element""
* [42061](https://bugzilla.xamarin.com/show_bug.cgi?id=42061) - "App crashes when registering an app link entry with invalid thumbnail url" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/299))
* [42112](https://bugzilla.xamarin.com/show_bug.cgi?id=42112) - "42112 - CarouselView throws error on Android while moving"
* [42341](https://bugzilla.xamarin.com/show_bug.cgi?id=42341) - "Page not removed from NavigationStack when hit Back quickly on iOS" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/291))
* [42519](https://bugzilla.xamarin.com/show_bug.cgi?id=42519) - "Text Truncation in UWP"
* [42697](https://bugzilla.xamarin.com/show_bug.cgi?id=42697) - "Slow swipe - System.InvalidOperationException: Sequence contains more than one element [CarouselView]"
* [43230](https://bugzilla.xamarin.com/show_bug.cgi?id=43230) - "DisplayAlert returns unexpected value when Escape key hit on UWP" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/292))
* [43328](https://bugzilla.xamarin.com/show_bug.cgi?id=43328) - "DisplayActionSheet() double-tap NullReferenceException crash Win8.1" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/305))
* [43354](https://bugzilla.xamarin.com/show_bug.cgi?id=43354) - "Button IsEnabled binding is position dependent" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/308))
* [43450](https://bugzilla.xamarin.com/show_bug.cgi?id=43450) - "Faulty syntax of Grid.RowDefinition wasn't caught with XamlC"
* [43516](https://bugzilla.xamarin.com/show_bug.cgi?id=43516) - "[UWP] Changing FontAttribute on a label to NONE changes font size as well" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/325))
* [43530](https://bugzilla.xamarin.com/show_bug.cgi?id=43530) - "[Android] Resuming app throws IllegalStateException from fragment manager"
* [43726](https://bugzilla.xamarin.com/show_bug.cgi?id=43726) - "Setting TabbedPage.ItemsSource to Null Causes Crash" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/320))
* [43774](https://bugzilla.xamarin.com/show_bug.cgi?id=43774) - "Appearing does not trigger for the first time for Tabpages in Android" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/328))
* [43892](https://bugzilla.xamarin.com/show_bug.cgi?id=43892) - "Xamarin.Forms.TabbedPage with FormsAppCompatActivity OnAppearing Troubles"
* [44056](https://bugzilla.xamarin.com/show_bug.cgi?id=44056) - "Picker Focused/Unfocused events not fired on iOS 10 preview" ([PR](https://github.com/xamarin/Xamarin.Forms/pull/339))

## Other fixes
* iOS10 fixes

# 2.3.3-pre1

(Only internal. No public artifacts)
</releaseNotes>
    <copyright>Copyright 2013-2016</copyright>
    <tags>xamarin forms xamarinforms xamarin.forms</tags>
    <dependencies>
      <group targetFramework="WindowsPhone8.0">
        <dependency id="WPtoolkit" version="4.2013.08.16" />
      </group>
      <group targetFramework="MonoAndroid1.0">
        <dependency id="Xamarin.Android.Support.v4" version="[23.3.0]" />
        <dependency id="Xamarin.Android.Support.Design" version="[23.3.0]" />
        <dependency id="Xamarin.Android.Support.v7.AppCompat" version="[23.3.0]" />
        <dependency id="Xamarin.Android.Support.v7.CardView" version="[23.3.0]" />
        <dependency id="Xamarin.Android.Support.v7.MediaRouter" version="[23.3.0]" />
      </group>
    </dependencies>
    <references>
      <group targetFramework=".NETPortable0.0-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
      </group>
      <group targetFramework="Xamarin.iOS1.0">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="Xamarin.Forms.Platform.iOS.dll" />
      </group>
      <group targetFramework="MonoAndroid1.0">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="FormsViewGroup.dll" />
        <reference file="Xamarin.Forms.Platform.Android.dll" />
      </group>
      <group targetFramework="Windows8.1">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="Xamarin.Forms.Platform.WinRT.dll" />
        <reference file="Xamarin.Forms.Platform.WinRT.Tablet.dll" />
      </group>
      <group targetFramework="WindowsPhoneApp8.1">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="Xamarin.Forms.Platform.WinRT.dll" />
        <reference file="Xamarin.Forms.Platform.WinRT.Phone.dll" />
      </group>
      <group targetFramework="UAP10.0">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="Xamarin.Forms.Platform.UAP.dll" />
      </group>
      <group targetFramework="WindowsPhone8.0">
        <reference file="Xamarin.Forms.Core.dll" />
        <reference file="Xamarin.Forms.Platform.dll" />
        <reference file="Xamarin.Forms.Xaml.dll" />
        <reference file="Xamarin.Forms.Platform.WP8.dll" />
      </group>
    </references>
  </metadata>
</package>