diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-04-25 20:06:29 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2017-04-25 11:06:29 -0700 |
commit | 9b49e3f1c1f82a05bb1f282cd5b251228a357ae7 (patch) | |
tree | 3e343815cb2fa4dd0f53b3bd39948c004bf9797c /Xamarin.Forms.Core/OnPlatform.cs | |
parent | 8e567b9ad1669265d994c84acd5c49d43829a3da (diff) | |
download | xamarin-forms-9b49e3f1c1f82a05bb1f282cd5b251228a357ae7.tar.gz xamarin-forms-9b49e3f1c1f82a05bb1f282cd5b251228a357ae7.tar.bz2 xamarin-forms-9b49e3f1c1f82a05bb1f282cd5b251228a357ae7.zip |
[Xaml] OnPlatform.Default value (#873)
* [Xaml] OnPlatform.Default value
* docs
Diffstat (limited to 'Xamarin.Forms.Core/OnPlatform.cs')
-rw-r--r-- | Xamarin.Forms.Core/OnPlatform.cs | 14 |
1 files changed, 13 insertions, 1 deletions
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<On> Platforms { get; private set; } +#pragma warning disable RECS0108 // Warns about static fields in generic types static readonly IValueConverterProvider s_valueConverter = DependencyService.Get<IValueConverterProvider>(); +#pragma warning restore RECS0108 // Warns about static fields in generic types public static implicit operator T(OnPlatform<T> 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 |