From 9b49e3f1c1f82a05bb1f282cd5b251228a357ae7 Mon Sep 17 00:00:00 2001 From: Stephane Delcroix Date: Tue, 25 Apr 2017 20:06:29 +0200 Subject: [Xaml] OnPlatform.Default value (#873) * [Xaml] OnPlatform.Default value * docs --- Xamarin.Forms.Core/OnPlatform.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Xamarin.Forms.Core/OnPlatform.cs') diff --git a/Xamarin.Forms.Core/OnPlatform.cs b/Xamarin.Forms.Core/OnPlatform.cs index 68621134..c179dc57 100644 --- a/Xamarin.Forms.Core/OnPlatform.cs +++ b/Xamarin.Forms.Core/OnPlatform.cs @@ -43,9 +43,21 @@ namespace Xamarin.Forms } } + bool hasDefault; + T @default; + public T Default { + get { return @default; } + set { + hasDefault = true; + @default = value; + } + } + public IList Platforms { get; private set; } +#pragma warning disable RECS0108 // Warns about static fields in generic types static readonly IValueConverterProvider s_valueConverter = DependencyService.Get(); +#pragma warning restore RECS0108 // Warns about static fields in generic types public static implicit operator T(OnPlatform onPlatform) { @@ -60,7 +72,7 @@ namespace Xamarin.Forms } if (!onPlatform.useLegacyFallback) - return default(T); + return onPlatform.hasDefault ? onPlatform.@default : default(T); //legacy fallback #pragma warning disable 0618, 0612 -- cgit v1.2.3