diff options
author | Kangho Hur <kangho.hur@samsung.com> | 2017-01-12 22:27:35 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.vlan103.tizen.org> | 2017-01-12 22:27:35 -0800 |
commit | 821a8e4a379b32debc35832a9bc87a5c84bb07cd (patch) | |
tree | 4e7e85a322d6fdd1c0d0c7533d0a30675fb11a57 /Xamarin.Forms.Platform.Tizen | |
parent | de24ff5ad9c5258129b4dc9a82d221132138599e (diff) | |
parent | f7246c3adde376884a36a936439333e47701d686 (diff) | |
download | xamarin-forms-821a8e4a379b32debc35832a9bc87a5c84bb07cd.tar.gz xamarin-forms-821a8e4a379b32debc35832a9bc87a5c84bb07cd.tar.bz2 xamarin-forms-821a8e4a379b32debc35832a9bc87a5c84bb07cd.zip |
Merge "Add Switch Style" into tizen
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs index b3539e6c..c67a69a2 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/SwitchRenderer.cs @@ -1,5 +1,8 @@ using System; +using System.ComponentModel; using ElmSharp; +using Xamarin.Forms.PlatformConfiguration.TizenSpecific; +using Specific = Xamarin.Forms.PlatformConfiguration.TizenSpecific.Switch; namespace Xamarin.Forms.Platform.Tizen { @@ -28,14 +31,22 @@ namespace Xamarin.Forms.Platform.Tizen if (e.NewElement != null) { - Control.Style = "toggle"; - + UpdateStyle(); Control.StateChanged += CheckChangedHandler; } base.OnElementChanged(e); } + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == Specific.SwitchStyleProperty.PropertyName) + { + UpdateStyle(); + } + base.OnElementPropertyChanged(sender, e); + } + void CheckChangedHandler(object sender, EventArgs e) { Element.SetValue(Switch.IsToggledProperty, Control.IsChecked); @@ -46,5 +57,21 @@ namespace Xamarin.Forms.Platform.Tizen Control.IsChecked = Element.IsToggled; } + void UpdateStyle() + { + switch (Specific.GetSwitchStyle(Element)) + { + case SwitchStyle.CheckBox: + Control.Style = "default"; + break; + case SwitchStyle.Favorite: + Control.Style = "favorite"; + break; + default: + Control.Style = "toggle"; + break; + } + ((IVisualElementController)Element).NativeSizeChanged(); + } } } |