Xamarin.Forms 3.6.0.709228 (3.6.0 Service Release 5) API Changes

Namespace Xamarin.Forms

Type Changed: Xamarin.Forms.Application

Obsoleted properties:

 [Obsolete ("Assign the LogWarningsListener")]

 public static bool LogWarningsToApplicationOutput { get; set; }

Type Changed: Xamarin.Forms.Cell

Modified constructors:

-protected Cell ()
+public Cell ()

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Added method:

public virtual Xamarin.Forms.IPlatformElementConfiguration<T,Xamarin.Forms.Cell> On<T> ();

Type Changed: Xamarin.Forms.EntryCell

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Type Changed: Xamarin.Forms.ImageCell

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Type Changed: Xamarin.Forms.InputView

Added field:

public static BindableProperty IsReadOnlyProperty;

Added property:

public bool IsReadOnly { get; set; }

Type Changed: Xamarin.Forms.ItemTappedEventArgs

Obsoleted constructors:

 [Obsolete ("Please use the constructor that reports the items index")]

 public ItemTappedEventArgs (object group, object item);

Added constructor:

public ItemTappedEventArgs (object group, object item, int itemIndex);

Added property:

public int ItemIndex { get; }

Type Changed: Xamarin.Forms.ItemVisibilityEventArgs

Obsoleted constructors:

 [Obsolete ("Please use the constructor that reports the items index")]

 public ItemVisibilityEventArgs (object item);

Added constructor:

public ItemVisibilityEventArgs (object item, int itemIndex);

Added property:

public int ItemIndex { get; }

Type Changed: Xamarin.Forms.ItemsView

Added field:

public static BindableProperty ItemSizingStrategyProperty;

Added property:

public ItemSizingStrategy ItemSizingStrategy { get; set; }

Added methods:

public void AddLogicalChild (Element element);
public void RemoveLogicalChild (Element element);

Type Changed: Xamarin.Forms.Picker

Added field:

public static BindableProperty TitleColorProperty;

Added property:

public Color TitleColor { get; set; }

Type Changed: Xamarin.Forms.SearchBar

Modified base type:

-Xamarin.Forms.View
+Xamarin.Forms.InputView

Type Changed: Xamarin.Forms.SelectedItemChangedEventArgs

Obsoleted constructors:

 [Obsolete ("This constructor is obsolete as of version 3.5. Please use SelectedItemChangedEventArgs(object selectedItem, int selectedItemIndex) instead.")]

 public SelectedItemChangedEventArgs (object selectedItem);

Added constructor:

public SelectedItemChangedEventArgs (object selectedItem, int selectedItemIndex);

Added property:

public int SelectedItemIndex { get; }

Type Changed: Xamarin.Forms.Slider

Added interface:

ISliderController

Added fields:

public static BindableProperty DragCompletedCommandProperty;
public static BindableProperty DragStartedCommandProperty;

Added properties:

public System.Windows.Input.ICommand DragCompletedCommand { get; set; }
public System.Windows.Input.ICommand DragStartedCommand { get; set; }

Added events:

public event System.EventHandler DragCompleted;
public event System.EventHandler DragStarted;

Type Changed: Xamarin.Forms.SwitchCell

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Type Changed: Xamarin.Forms.TextCell

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Type Changed: Xamarin.Forms.UnsolvableConstraintsException

Added constructors:

public UnsolvableConstraintsException ();
protected UnsolvableConstraintsException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
public UnsolvableConstraintsException (string message, System.Exception innerException);

Type Changed: Xamarin.Forms.ViewCell

Added interface:

Xamarin.Forms.IElementConfiguration<Cell>

Type Changed: Xamarin.Forms.VisualElement

Removed method:

public static void VerifyVisualFlagEnabled (string constructorHint, string memberName);

Removed Type Xamarin.Forms.INavigationMenuController

Removed Type Xamarin.Forms.VisualRendererMarker

New Type: Xamarin.Forms.FontImageSource

public class FontImageSource : Xamarin.Forms.ImageSource, System.ComponentModel.INotifyPropertyChanged, IElementController, Internals.IDynamicResourceHandler, Internals.INameScope {
	// constructors
	public FontImageSource ();
	// fields
	public static BindableProperty ColorProperty;
	public static BindableProperty FontFamilyProperty;
	public static BindableProperty GlyphProperty;
	public static BindableProperty SizeProperty;
	// properties
	public Color Color { get; set; }
	public string FontFamily { get; set; }
	public string Glyph { get; set; }
	public double Size { get; set; }
	// methods
	protected override void OnPropertyChanged (string propertyName);
}

New Type: Xamarin.Forms.ISliderController

public interface ISliderController {
	// methods
	public virtual void SendDragCompleted ();
	public virtual void SendDragStarted ();
}

New Type: Xamarin.Forms.InvalidNavigationException

[Serializable]
public class InvalidNavigationException : System.Exception, System.Runtime.InteropServices._Exception, System.Runtime.Serialization.ISerializable {
	// constructors
	public InvalidNavigationException ();
	public InvalidNavigationException (string message);
	protected InvalidNavigationException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
	public InvalidNavigationException (string message, System.Exception innerException);
}

New Type: Xamarin.Forms.ItemSizingStrategy

[Serializable]
public enum ItemSizingStrategy {
	MeasureAllItems = 0,
	MeasureFirstItem = 1,
}

New Type: Xamarin.Forms.VisualAttribute

public class VisualAttribute : System.Attribute, System.Runtime.InteropServices._Attribute {
	// constructors
	public VisualAttribute (string key, System.Type visual);
}

New Type: Xamarin.Forms.XmlnsPrefixAttribute

public sealed class XmlnsPrefixAttribute : System.Attribute, System.Runtime.InteropServices._Attribute {
	// constructors
	public XmlnsPrefixAttribute (string xmlNamespace, string prefix);
	// properties
	public string Prefix { get; }
	public string XmlNamespace { get; }
}

Namespace Xamarin.Forms.Internals

Type Changed: Xamarin.Forms.Internals.ReflectionExtensions

Added method:

public static System.Type[] GetExportedTypes (this System.Reflection.Assembly assembly);

Removed Type Xamarin.Forms.Internals.NavigationMenu

Namespace Xamarin.Forms.PlatformConfiguration.iOSSpecific

Type Changed: Xamarin.Forms.PlatformConfiguration.iOSSpecific.ListView

Added fields:

public static Xamarin.Forms.BindableProperty GroupHeaderStyleProperty;
public static Xamarin.Forms.BindableProperty RowAnimationsEnabledProperty;

Added methods:

public static GroupHeaderStyle GetGroupHeaderStyle (Xamarin.Forms.BindableObject element);
public static GroupHeaderStyle GetGroupHeaderStyle (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> config);
public static bool GetRowAnimationsEnabled (Xamarin.Forms.BindableObject element);
public static bool RowAnimationsEnabled (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> config);
public static void SetGroupHeaderStyle (Xamarin.Forms.BindableObject element, GroupHeaderStyle value);
public static Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> SetGroupHeaderStyle (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> config, GroupHeaderStyle value);
public static void SetRowAnimationsEnabled (Xamarin.Forms.BindableObject element, bool value);
public static Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> SetRowAnimationsEnabled (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.ListView> config, bool value);

New Type: Xamarin.Forms.PlatformConfiguration.iOSSpecific.Cell

public static class Cell {
	// fields
	public static Xamarin.Forms.BindableProperty DefaultBackgroundColorProperty;
	// methods
	public static Xamarin.Forms.Color DefaultBackgroundColor (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Cell> config);
	public static Xamarin.Forms.Color GetDefaultBackgroundColor (Xamarin.Forms.BindableObject element);
	public static void SetDefaultBackgroundColor (Xamarin.Forms.BindableObject element, Xamarin.Forms.Color value);
	public static Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Cell> SetDefaultBackgroundColor (this Xamarin.Forms.IPlatformElementConfiguration<Xamarin.Forms.PlatformConfiguration.iOS,Xamarin.Forms.Cell> config, Xamarin.Forms.Color value);
}

New Type: Xamarin.Forms.PlatformConfiguration.iOSSpecific.GroupHeaderStyle

[Serializable]
public enum GroupHeaderStyle {
	Grouped = 1,
	Plain = 0,
}

Namespace Xamarin.Forms.Xaml

Type Changed: Xamarin.Forms.Xaml.XamlParseException

Added constructors:

public XamlParseException ();
public XamlParseException (string message);
protected XamlParseException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
public XamlParseException (string message, System.Exception innerException);

Namespace Xamarin.Forms.Platform.Android

Type Changed: Xamarin.Forms.Platform.Android.AHorizontalScrollView

Added property:

public override bool HorizontalScrollBarEnabled { get; set; }

Added method:

public override void Draw (Android.Graphics.Canvas canvas);

Type Changed: Xamarin.Forms.Platform.Android.ContextExtensions

Added method:

public static Android.App.Activity GetActivity (this Android.Content.Context context);

Type Changed: Xamarin.Forms.Platform.Android.DatePickerRenderer

Modified base type:

-Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.DatePicker,Android.Widget.EditText]
+Xamarin.Forms.Platform.Android.DatePickerRendererBase`1[Android.Widget.EditText]

Added property:

protected override Android.Widget.EditText EditText { get; }

Removed methods:

protected virtual Android.App.DatePickerDialog CreateDatePickerDialog (int year, int month, int day);
protected override void Dispose (bool disposing);
protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.DatePicker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added method:

protected override void UpdateTextColor ();

Type Changed: Xamarin.Forms.Platform.Android.EditorRenderer

Modified base type:

-Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.Editor,Xamarin.Forms.Platform.Android.FormsEditText]
+Xamarin.Forms.Platform.Android.EditorRendererBase`1[Xamarin.Forms.Platform.Android.FormsEditText]

Added property:

protected override Android.Widget.EditText EditText { get; }

Removed methods:

protected override void Dispose (bool disposing);
protected virtual Android.Text.Method.NumberKeyListener GetDigitsKeyListener (Android.Text.InputTypes inputTypes);
protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.Editor> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added methods:

protected override void UpdatePlaceholderColor ();
protected override void UpdateTextColor ();

Type Changed: Xamarin.Forms.Platform.Android.EntryRenderer

Added methods:

protected override void UpdateColor ();
protected override void UpdateIsReadOnly ();
protected override void UpdatePlaceholderColor ();
protected override void UpdateTextColor (Xamarin.Forms.Color color);

Type Changed: Xamarin.Forms.Platform.Android.EntryRendererBase`1

Modified methods:

-protected abstract void UpdateColor ()
+protected +++abstract+++ void UpdateColor ()
-protected virtual void UpdateFont ()
+protected virtual void UpdateFont ()
-protected virtual void UpdatePlaceHolderText ()
+protected virtual void UpdatePlaceHolderText ()
-protected abstract void UpdatePlaceholderColor ()
+protected +++abstract+++ void UpdatePlaceholderColor ()
-protected abstract void UpdateTextColor (Xamarin.Forms.Color color)
+protected +++abstract+++ void UpdateTextColor (Xamarin.Forms.Color color)

Added methods:

protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);
protected virtual void UpdateIsReadOnly ();

Type Changed: Xamarin.Forms.Platform.Android.FormsEditText

Modified base type:

-Android.Widget.EditText
+Xamarin.Forms.Platform.Android.FormsEditTextBase

Removed method:

public override bool RequestFocus (Android.Views.FocusSearchDirection direction, Android.Graphics.Rect previouslyFocusedRect);

Type Changed: Xamarin.Forms.Platform.Android.ListViewRenderer

Added method:

protected virtual Android.Support.V4.Widget.SwipeRefreshLayout CreateNativePullToRefresh (Android.Content.Context context);

Type Changed: Xamarin.Forms.Platform.Android.PickerEditText

Modified base type:

-Android.Widget.EditText
+Xamarin.Forms.Platform.Android.FormsEditTextBase

Added constructor:

public PickerEditText (Android.Content.Context context);

Type Changed: Xamarin.Forms.Platform.Android.PickerRenderer

Added method:

protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);

Type Changed: Xamarin.Forms.Platform.Android.SearchBarRenderer

Added methods:

protected virtual Android.Text.Method.NumberKeyListener GetDigitsKeyListener (Android.Text.InputTypes inputTypes);
protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);

Type Changed: Xamarin.Forms.Platform.Android.StepperRenderer

Added interface:

IStepperRenderer

Type Changed: Xamarin.Forms.Platform.Android.TimePickerRenderer

Modified base type:

-Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.TimePicker,Android.Widget.EditText]
+Xamarin.Forms.Platform.Android.TimePickerRendererBase`1[Android.Widget.EditText]

Added property:

protected override Android.Widget.EditText EditText { get; }

Removed methods:

protected virtual Android.App.TimePickerDialog CreateTimePickerDialog (int hours, int minutes);
protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.TimePicker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added method:

protected override void UpdateTextColor ();

Type Changed: Xamarin.Forms.Platform.Android.ViewRenderer`2

Added property:

protected virtual Android.Views.View ControlUsedForAutomation { get; }

Added method:

protected virtual void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);

Removed Type Xamarin.Forms.Platform.Android.NavigationMenuRenderer

New Type: Xamarin.Forms.Platform.Android.ButtonElementManager

public static class ButtonElementManager {
	// methods
	public static void OnClick (Xamarin.Forms.VisualElement element, Xamarin.Forms.IButtonController buttonController, Android.Views.View v);
	public static bool OnTouch (Xamarin.Forms.VisualElement element, Xamarin.Forms.IButtonController buttonController, Android.Views.View v, Android.Views.MotionEvent e);
}

New Type: Xamarin.Forms.Platform.Android.ButtonLayoutManager

public class ButtonLayoutManager : System.IDisposable {
	// constructors
	public ButtonLayoutManager (IButtonLayoutRenderer renderer);
	public ButtonLayoutManager (IButtonLayoutRenderer renderer, bool alignIconWithText, bool preserveInitialPadding, bool borderAdjustsPadding, bool maintainLegacyMeasurements);
	// methods
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public void OnLayout (bool changed, int left, int top, int right, int bottom);
	public void OnViewAttachedToWindow (Android.Views.View attachedView);
	public void OnViewDetachedFromWindow (Android.Views.View detachedView);
	public void Update ();
}

New Type: Xamarin.Forms.Platform.Android.DatePickerRendererBase`1

public abstract class DatePickerRendererBase`1 : Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.DatePicker,TControl], Android.Runtime.IJavaObject, Android.Views.View.IOnFocusChangeListener, System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, IPickerRenderer, ITabStop, IViewRenderer, IVisualElementRenderer {
	// constructors

	[Obsolete ("This constructor is obsolete as of version 2.5. Please use DatePickerRenderer(Context) instead.")]
public DatePickerRendererBase`1 ();
	public DatePickerRendererBase`1 (Android.Content.Context context);
	// properties
	protected virtual Android.Widget.EditText EditText { get; }
	// methods
	protected virtual Android.App.DatePickerDialog CreateDatePickerDialog (int year, int month, int day);
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.DatePicker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);
	protected virtual void UpdateTextColor ();
}

New Type: Xamarin.Forms.Platform.Android.EditorRendererBase`1

public abstract class EditorRendererBase`1 : Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.Editor,TControl], Android.Runtime.IJavaObject, Android.Text.INoCopySpan, Android.Text.ITextWatcher, Android.Views.View.IOnFocusChangeListener, System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IViewRenderer, IVisualElementRenderer {
	// constructors

	[Obsolete ("This constructor is obsolete as of version 2.5. Please use EditorRenderer(Context) instead.")]
public EditorRendererBase`1 ();
	public EditorRendererBase`1 (Android.Content.Context context);
	// properties
	protected virtual Android.Widget.EditText EditText { get; }
	// methods
	protected override void Dispose (bool disposing);
	protected virtual Android.Text.Method.NumberKeyListener GetDigitsKeyListener (Android.Text.InputTypes inputTypes);
	protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.Editor> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);
	protected virtual void UpdateFont ();
	protected virtual void UpdatePlaceholderColor ();
	protected virtual void UpdatePlaceholderText ();
	protected virtual void UpdateTextColor ();
}

New Type: Xamarin.Forms.Platform.Android.FontImageSourceHandler

public sealed class FontImageSourceHandler : Xamarin.Forms.IRegisterable, IImageSourceHandler {
	// constructors
	public FontImageSourceHandler ();
	// methods
	public virtual System.Threading.Tasks.Task<Android.Graphics.Bitmap> LoadImageAsync (Xamarin.Forms.ImageSource imagesource, Android.Content.Context context, System.Threading.CancellationToken cancelationToken);
}

New Type: Xamarin.Forms.Platform.Android.FormsEditTextBase

public class FormsEditTextBase : Android.Widget.EditText {
	// constructors
	public FormsEditTextBase (Android.Content.Context context);
	// methods
	public override bool RequestFocus (Android.Views.FocusSearchDirection direction, Android.Graphics.Rect previouslyFocusedRect);
}

New Type: Xamarin.Forms.Platform.Android.IButtonLayoutRenderer

public interface IButtonLayoutRenderer {
	// properties
	public virtual Xamarin.Forms.Button Element { get; }
	public virtual Android.Support.V7.Widget.AppCompatButton View { get; }
	// events
	public event System.EventHandler<VisualElementChangedEventArgs> ElementChanged;
}

New Type: Xamarin.Forms.Platform.Android.IStepperRenderer

public interface IStepperRenderer {
	// properties
	public virtual Android.Widget.Button DownButton { get; }
	public virtual Xamarin.Forms.Stepper Element { get; }
	public virtual Android.Widget.Button UpButton { get; }
	// methods
	public virtual Android.Widget.Button CreateButton ();
}

New Type: Xamarin.Forms.Platform.Android.StepperRendererManager

public static class StepperRendererManager {
	// methods
	public static void CreateStepperButtons<TButton> (IStepperRenderer renderer, out TButton downButton, out TButton upButton);
	public static void UpdateButtons<TButton> (IStepperRenderer renderer, TButton downButton, TButton upButton, System.ComponentModel.PropertyChangedEventArgs e);
}

New Type: Xamarin.Forms.Platform.Android.TimePickerRendererBase`1

public abstract class TimePickerRendererBase`1 : Xamarin.Forms.Platform.Android.ViewRenderer`2[Xamarin.Forms.TimePicker,TControl], Android.App.TimePickerDialog.IOnTimeSetListener, Android.Runtime.IJavaObject, Android.Views.View.IOnFocusChangeListener, System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, IPickerRenderer, ITabStop, IViewRenderer, IVisualElementRenderer {
	// constructors

	[Obsolete ("This constructor is obsolete as of version 2.5. Please use TimePickerRenderer(Context) instead.")]
public TimePickerRendererBase`1 ();
	public TimePickerRendererBase`1 (Android.Content.Context context);
	// properties
	protected virtual Android.Widget.EditText EditText { get; }
	// methods
	protected virtual Android.App.TimePickerDialog CreateTimePickerDialog (int hours, int minutes);
	protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.TimePicker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);
	protected virtual void UpdateTextColor ();
}

Namespace Xamarin.Forms.Platform.Android.AppCompat

Type Changed: Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer

Added interfaces:

Android.Views.View.IOnClickListener
Android.Views.View.IOnTouchListener
Xamarin.Forms.Platform.Android.IButtonLayoutRenderer

Type Changed: Xamarin.Forms.Platform.Android.AppCompat.PickerRenderer

Modified base type:

-Xamarin.Forms.Platform.Android.AppCompat.ViewRenderer`2[Xamarin.Forms.Picker,Android.Widget.EditText]
+Xamarin.Forms.Platform.Android.AppCompat.PickerRendererBase`1[Android.Widget.EditText]

Added property:

protected override Android.Widget.EditText EditText { get; }

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.Picker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added methods:

protected override void UpdatePlaceHolderText ();
protected override void UpdateTextColor ();
protected override void UpdateTitleColor ();

New Type: Xamarin.Forms.Platform.Android.AppCompat.PickerRendererBase`1

public abstract class PickerRendererBase`1 : Xamarin.Forms.Platform.Android.AppCompat.ViewRenderer`2[Xamarin.Forms.Picker,TControl], Android.Runtime.IJavaObject, Android.Views.View.IOnFocusChangeListener, System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, Xamarin.Forms.Platform.Android.IPickerRenderer, Xamarin.Forms.Platform.Android.ITabStop, Xamarin.Forms.Platform.Android.IViewRenderer, Xamarin.Forms.Platform.Android.IVisualElementRenderer {
	// constructors

	[Obsolete ("This constructor is obsolete as of version 2.5. Please use PickerRenderer(Context) instead.")]
public PickerRendererBase`1 ();
	public PickerRendererBase`1 (Android.Content.Context context);
	// properties
	protected virtual Android.Widget.EditText EditText { get; }
	// methods
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.Picker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected override void OnFocusChangeRequested (object sender, Xamarin.Forms.VisualElement.FocusRequestArgs e);
	protected virtual void UpdatePlaceHolderText ();
	protected virtual void UpdateTextColor ();
	protected virtual void UpdateTitleColor ();
}

Namespace Xamarin.Forms.Platform.Android.FastRenderers

Removed Type Xamarin.Forms.Platform.Android.FastRenderers.ButtonElementManager

Namespace Xamarin.Forms.Platform.iOS

Type Changed: Xamarin.Forms.Platform.iOS.ButtonRenderer

Added interface:

IButtonLayoutRenderer

Type Changed: Xamarin.Forms.Platform.iOS.DatePickerRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.DatePicker,UIKit.UITextField]
+Xamarin.Forms.Platform.iOS.DatePickerRendererBase`1[UIKit.UITextField]

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.DatePicker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added method:

protected override UIKit.UITextField CreateNativeControl ();

Type Changed: Xamarin.Forms.Platform.iOS.EditorRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Editor,UIKit.UITextView]
+Xamarin.Forms.Platform.iOS.EditorRendererBase`1[UIKit.UITextView]

Added property:

protected override UIKit.UITextView TextView { get; }

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added methods:

protected override UIKit.UITextView CreateNativeControl ();
protected override void UpdateFont ();
protected override void UpdatePlaceholderColor ();
protected override void UpdatePlaceholderText ();
protected override void UpdateText ();

Type Changed: Xamarin.Forms.Platform.iOS.EntryRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Entry,UIKit.UITextField]
+Xamarin.Forms.Platform.iOS.EntryRendererBase`1[UIKit.UITextField]

Removed methods:

protected override void Dispose (bool disposing);
public override Xamarin.Forms.SizeRequest GetDesiredSize (double widthConstraint, double heightConstraint);
protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Entry> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
protected virtual bool OnShouldReturn (UIKit.UITextField view);
protected virtual void UpdateColor ();
protected virtual void UpdatePlaceholder ();

Type Changed: Xamarin.Forms.Platform.iOS.Extensions

Added method:

public static void ApplyKeyboard (this UIKit.IUITextInputTraits textInput, Xamarin.Forms.Keyboard keyboard);

Type Changed: Xamarin.Forms.Platform.iOS.ItemsViewController

Added method:

public void UpdateLayout (ItemsViewLayout layout);

Type Changed: Xamarin.Forms.Platform.iOS.ItemsViewLayout

Removed property:

public bool UniformSize { get; set; }

Type Changed: Xamarin.Forms.Platform.iOS.ItemsViewRenderer

Added methods:

protected virtual void UpdateItemSizingStrategy ();
protected virtual void UpdateLayout ();

Type Changed: Xamarin.Forms.Platform.iOS.PickerRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Picker,UIKit.UITextField]
+Xamarin.Forms.Platform.iOS.PickerRendererBase`1[UIKit.UITextField]

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Picker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added method:

protected override UIKit.UITextField CreateNativeControl ();

Type Changed: Xamarin.Forms.Platform.iOS.TimePickerRenderer

Modified base type:

-Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.TimePicker,UIKit.UITextField]
+Xamarin.Forms.Platform.iOS.TimePickerRendererBase`1[UIKit.UITextField]

Removed methods:

protected override void Dispose (bool disposing);
protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.TimePicker> e);
protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Added method:

protected override UIKit.UITextField CreateNativeControl ();

Type Changed: Xamarin.Forms.Platform.iOS.UICollectionViewDelegator

Removed constructor:

public UICollectionViewDelegator (ItemsViewLayout itemsViewLayout);

Added constructor:

public UICollectionViewDelegator (ItemsViewLayout itemsViewLayout, ItemsViewController itemsViewController);

Modified properties:

 public SelectableItemsViewController SelectableItemsViewController { get; ---set;--- }

Added property:

public ItemsViewController ItemsViewController { get; }

Added method:

public override void CellDisplayingEnded (UIKit.UICollectionView collectionView, UIKit.UICollectionViewCell cell, Foundation.NSIndexPath indexPath);

Removed Type Xamarin.Forms.Platform.iOS.NavigationMenuRenderer

New Type: Xamarin.Forms.Platform.iOS.ButtonLayoutManager

public class ButtonLayoutManager : System.IDisposable {
	// constructors
	public ButtonLayoutManager (IButtonLayoutRenderer renderer, bool preserveInitialPadding, bool spacingAdjustsPadding, bool borderAdjustsPadding, bool collapseHorizontalPadding);
	// methods
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public void SetImage (UIKit.UIImage image);
	public CoreGraphics.CGSize SizeThatFits (CoreGraphics.CGSize size, CoreGraphics.CGSize measured);
	public void Update ();
}

New Type: Xamarin.Forms.Platform.iOS.DatePickerRendererBase`1

public abstract class DatePickerRendererBase`1 : Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.DatePicker,TControl], System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IVisualElementRenderer, IVisualNativeElementRenderer {
	// constructors
	protected DatePickerRendererBase`1 ();
	// methods
	protected override TControl CreateNativeControl ();
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.DatePicker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected virtual void UpdateFont ();
	protected virtual void UpdateTextColor ();
}

New Type: Xamarin.Forms.Platform.iOS.EditorRendererBase`1

public abstract class EditorRendererBase`1 : Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Editor,TControl], System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IVisualElementRenderer, IVisualNativeElementRenderer {
	// constructors
	protected EditorRendererBase`1 ();
	// properties
	protected virtual UIKit.UITextView TextView { get; }
	// methods
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Editor> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected virtual void UpdateAutoSizeOption ();
	protected virtual void UpdateFont ();
	protected virtual void UpdatePlaceholderColor ();
	protected virtual void UpdatePlaceholderText ();
	protected virtual void UpdateText ();
	protected virtual void UpdateTextColor ();
}

New Type: Xamarin.Forms.Platform.iOS.EntryRendererBase`1

public abstract class EntryRendererBase`1 : Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Entry,TControl], System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IVisualElementRenderer, IVisualNativeElementRenderer {
	// constructors
	public EntryRendererBase`1 ();
	// methods
	protected override TControl CreateNativeControl ();
	protected override void Dispose (bool disposing);
	public override Xamarin.Forms.SizeRequest GetDesiredSize (double widthConstraint, double heightConstraint);
	protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Entry> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected virtual bool OnShouldReturn (UIKit.UITextField view);
	protected virtual void UpdateColor ();
	protected virtual void UpdateFont ();
	protected virtual void UpdatePlaceholder ();
}

New Type: Xamarin.Forms.Platform.iOS.FontImageSourceHandler

public sealed class FontImageSourceHandler : Xamarin.Forms.IRegisterable, IImageSourceHandler {
	// constructors
	public FontImageSourceHandler ();
	// methods
	public virtual System.Threading.Tasks.Task<UIKit.UIImage> LoadImageAsync (Xamarin.Forms.ImageSource imagesource, System.Threading.CancellationToken cancelationToken, float scale);
}

New Type: Xamarin.Forms.Platform.iOS.IButtonLayoutRenderer

public interface IButtonLayoutRenderer {
	// properties
	public virtual UIKit.UIButton Control { get; }
	public virtual Xamarin.Forms.Button Element { get; }
	public virtual IImageVisualElementRenderer ImageVisualElementRenderer { get; }
	public virtual nfloat MinimumHeight { get; }
	// events
	public event System.EventHandler<Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Button>> ElementChanged;
}

New Type: Xamarin.Forms.Platform.iOS.PickerRendererBase`1

public abstract class PickerRendererBase`1 : Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.Picker,TControl], System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IVisualElementRenderer, IVisualNativeElementRenderer {
	// constructors
	protected PickerRendererBase`1 ();
	// methods
	protected override TControl CreateNativeControl ();
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.Picker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected virtual void UpdateFont ();
	protected virtual void UpdatePlaceholder ();
	protected virtual void UpdateTextColor ();
}

New Type: Xamarin.Forms.Platform.iOS.TimePickerRendererBase`1

public abstract class TimePickerRendererBase`1 : Xamarin.Forms.Platform.iOS.ViewRenderer`2[Xamarin.Forms.TimePicker,TControl], System.IDisposable, Xamarin.Forms.IEffectControlProvider, Xamarin.Forms.IRegisterable, ITabStop, IVisualElementRenderer, IVisualNativeElementRenderer {
	// constructors
	protected TimePickerRendererBase`1 ();
	// methods
	protected override TControl CreateNativeControl ();
	protected override void Dispose (bool disposing);
	protected override void OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs<Xamarin.Forms.TimePicker> e);
	protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);
	protected virtual void UpdateFont ();
	protected virtual void UpdateTextColor ();
}

Namespace Xamarin.Forms.Platform.Tizen

Type Changed: Xamarin.Forms.Platform.Tizen.ExportRendererAttribute

Added constructor:

public ExportRendererAttribute (System.Type handler, System.Type target, System.Type[] supportedVisuals);

Type Changed: Xamarin.Forms.Platform.Tizen.PickerRenderer

Modified base type:

-Xamarin.Forms.Platform.Tizen.ViewRenderer`2[Xamarin.Forms.Picker,Xamarin.Forms.Platform.Tizen.Native.Button]
+Xamarin.Forms.Platform.Tizen.ViewRenderer`2[Xamarin.Forms.Picker,Xamarin.Forms.Platform.Tizen.Native.EditfieldEntry]

Removed method:

protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e);

Namespace Xamarin.Forms.Platform.Tizen.Native

Type Changed: Xamarin.Forms.Platform.Tizen.Native.Dialog

Added property:

public ElmSharp.Color TitleColor { get; set; }

Added method:

protected virtual void ApplyTitleColor (ElmSharp.Color color);

Namespace Xamarin.Forms.Platform.Tizen.Native.Watch

Type Changed: Xamarin.Forms.Platform.Tizen.Native.Watch.WatchDialog

Added method:

protected override void ApplyTitleColor (ElmSharp.Color color);

Namespace Xamarin.Forms.Platform.UWP

Type Changed: Xamarin.Forms.Platform.UWP.DatePickerRenderer

Added interface:

IDontGetFocus

Type Changed: Xamarin.Forms.Platform.UWP.ExportRendererAttribute

Added constructor:

public ExportRendererAttribute (System.Type handler, System.Type target, System.Type[] supportedVisuals);

Type Changed: Xamarin.Forms.Platform.UWP.ITabStopOnDescendants

Added interface:

IDontGetFocus

Type Changed: Xamarin.Forms.Platform.UWP.ScrollViewRenderer

Added interface:

IDontGetFocus

Type Changed: Xamarin.Forms.Platform.UWP.SearchBarRenderer

Added interface:

IDontGetFocus

Type Changed: Xamarin.Forms.Platform.UWP.SliderRenderer

Added method:

protected override void Dispose (bool disposing);

Type Changed: Xamarin.Forms.Platform.UWP.StepperRenderer

Added interface:

IDontGetFocus

Type Changed: Xamarin.Forms.Platform.UWP.TimePickerRenderer

Added interface:

IDontGetFocus

New Type: Xamarin.Forms.Platform.UWP.ColorExtensions

public static class ColorExtensions {
	// methods
	public static Windows.UI.Color GetContrastingColor (this Windows.UI.Color color);
	public static Windows.UI.Xaml.Media.Brush ToBrush (this Xamarin.Forms.Color color);
	public static Xamarin.Forms.Color ToFormsColor (this Windows.UI.Color color);
	public static Xamarin.Forms.Color ToFormsColor (this Windows.UI.Xaml.Media.SolidColorBrush solidColorBrush);
	public static Windows.UI.Color ToWindowsColor (this Xamarin.Forms.Color color);
}

New Type: Xamarin.Forms.Platform.UWP.FontImageSourceHandler

public sealed class FontImageSourceHandler : Xamarin.Forms.IRegisterable, IImageSourceHandler {
	// constructors
	public FontImageSourceHandler ();
	// methods
	public virtual System.Threading.Tasks.Task<Windows.UI.Xaml.Media.ImageSource> LoadImageAsync (Xamarin.Forms.ImageSource imagesource, System.Threading.CancellationToken cancelationToken);
}

New Type: Xamarin.Forms.Platform.UWP.IDontGetFocus

public interface IDontGetFocus {
}

New Namespace Xamarin.Forms.Core.Design

New Type: Xamarin.Forms.Core.Design.VisualDesignTypeConverter

public class VisualDesignTypeConverter : System.ComponentModel.TypeConverter {
	// constructors
	public VisualDesignTypeConverter ();
	// properties
	protected System.ComponentModel.TypeConverter.StandardValuesCollection Values { get; set; }
	// methods
	public override bool CanConvertFrom (System.ComponentModel.ITypeDescriptorContext context, System.Type sourceType);
	public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues (System.ComponentModel.ITypeDescriptorContext context);
	public override bool GetStandardValuesExclusive (System.ComponentModel.ITypeDescriptorContext context);
	public override bool GetStandardValuesSupported (System.ComponentModel.ITypeDescriptorContext context);
}

Assembly Version Changed: 2.0.0.0 vs 1.0.0.0