We’ve got a new drop of Xamarin.Forms available.
Read more about it on the Xamarin Forums. Please pay very close attention to the section:
Renderer Porting Guide
**WARNING:** Breaking change to the renderer API in this release.
- Renderer API's have been updated to be made more consistent (details below).
- ModifierType has been removed (unused data type).
- TableView.Root is marked as content and can now be set implicitly with XAML
- Android MasterDetailPage now uses true DrawerLayout.
- XAML now supports OnIdiom for conditional phone/tablet layouts.
- TapGestureRecognizers now support Commanding and can be used from XAML.
- Binding now additionally has an empty constructor to allow more usage from XAML.
- ListView.GroupDisplayBinding and GroupShortNameBinding can now accept a regular string in
- XAML: `<ListView GroupDisplayBinding="My.Path" />`
- Entry keyboard updates property on iOS now.
- NullReferenceException on iOS 6.1 fixed.
- The Expression-based SetBinding overload's stringFormat parameter now works as expected.
- SearchBar no longer requires API 16 on Android.
- Android toolbar now works correctly for ToolbarItems on navigation pages.
- EntryCell.IsEnabled now works.
- UriImageSource.Uri no longer throws exceptions when null.
- Android should no longer use the incorrect context after context recreation events.
Renderer API Changes:
- Model renamed to Element (and all references updated).
- Most renderers now subclass from ViewRenderer on all platforms.
- OnElementPropertyChanged replaces OnModelPropertyChanged.
- OnElementChanged replaces OnModelSet/OnModelChanged.
- Windows Phone renderers are now public.
- Most renderers now subclass generic super-class (no casting needed).
- Other minor changes (see porting guide on forums).
As mentioned, this package contains breaking changes. Here is the error list after building my DrawIt sample app post-update:
I got the iOS renderer changed out pretty quick (< 10 minutes), but the Android renderer is causing me issues. Still waiting to hear back from the Forums on this one.
A Note about NuGet Packages
When you first create a Xamarin.Forms project, you may not actually have the NuGet packages installed, which you can do using this command:
Get-Project -All | Install-Package Xamarin.Forms
This will install the Xamarin.Forms package in all of the projects.
The default NuGet Console only works with a single project at a time. I made the mistake of not recognizing that I was only installed the packages or the update on a single project.
Once NuGet packages are installed in a solution, you have a new option called Manage NuGet Packages for Solution, which will install packages for all or selected projects within the solution.