Xamarin.Forms 1.4.3 pre1


XamlC (Compiled XAML)

XAML can now be optionally compiled directly into IL. This removes some of the load and instantiation time for Elements defined in XAML. Additionally this means the .xaml file is no longer included in the final assembly, reducing file size. This capability is disabled by default to ensure backwards compatibility, however it can be turned on at both the type and the assembly level. To enable XamlC, add the XamlCompilation attribute to any class or assembly you wish to have compiled to IL.

At the assembly level:

[assembly: XamlCompilation (XamlCompilationOptions.Compile)]

or at the class level:

[XamlCompilation (XamlCompilationOptions.Compile)]
public class MyCustomView : ContentView
{ ... }

This feature is very much still in beta, it works with some large test projects using XAML extensively, however there are certainly still bugs remaining to be found and discovered. Please note that using XamlC may interfere with your debugger, it is recommended to disable XamlC when needed as the mdp/pdb file will not correctly represent the new IL.

Other Enhancements

  • [WinRT] Now properly supports Color.Accent
  • [WinRT] Assorted performance and correctness fixes
  • [WinRT] PageRenderer.OnElementChanged is now virtual
  • [Android] Properly support DatePicker.MinimumDate and DatePicker.MaximumDate
  • [Xaml] Speed up parsing/understand of predefined colors by removing reflection
  • [Docs] Add documentation for missing summaries
  • [Core] Binding now supports binding to dynamic objects, such a json objects.

Bug Fixes

  • Bug 28364 - Listview.FooterTemplate cause NullReferenceException
  • Bug 28345 - Android crash on listview press hold and swipe
  • Bug 28191 - Java.Lang.NullPointerException in TabbedPage
  • Bug 28119 - Disabling Editor in iOS does not disable entry of text
  • Bug 27234 - ViewCell background conflicts with ListView Semi-Transparent and Transparent backgrounds
  • Bug 28242 - CarouselPage Disappearing event does not fire on Android
  • Bug 27951 - Sample 'WorkingWithListviewNative' throw Exception on Xam.Android project.
  • Bug 27976 - [Android] MasterDetail NavigationDrawer Does Not Hide On DoubleTap of Item
  • Bug 28424 - [Android][WinPhone] When setting the minimum and maximum date for a date picker, only allow valid dates to be seen/selected from the DatePicker dialog.
  • Bug 27766 - On Android, button background is not updated when color changes
  • Bug 27689 - GroupHeaderCells disappear when item is removed from a group in ListView (iOS only)
  • Bug 29158 - XF for WP8.1RT - BeginInvokeOnMainThread generates NullReferenceException
  • Bug 28390 - ListView - jump list always shows on WPhone, even without GroupShortNameBinding

Other Fixes

  • [Core] Fix corner case where PushModalAsync could end up pushing pages in the wrong order.
  • [WinRT] Page.Disappearing now works correctly
  • [WinRT] NavigationPage.Padding now respected correctly
  • [WinRT] Various fixes for Page.IsBusy
  • [WinRT] TabbedPage no correctly lays out children
  • [Android] ScrollTo no longer off by one in ListView using Headers
  • [Android] Fix crash when using non-existent image as the Icon for a ToolbarIcon
  • [Android] Add some missing warning messages
  • [Android] Fix crash with malformed ViewCells
  • [iOS] Default Keyboard now matches platform default
  • [iOS] Fix crash when dismissing popover from ContextActions

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.