summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/Switch.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/Switch.cs')
-rw-r--r--Xamarin.Forms.Core/Switch.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/Switch.cs b/Xamarin.Forms.Core/Switch.cs
new file mode 100644
index 00000000..394e050a
--- /dev/null
+++ b/Xamarin.Forms.Core/Switch.cs
@@ -0,0 +1,24 @@
+using System;
+using Xamarin.Forms.Platform;
+
+namespace Xamarin.Forms
+{
+ [RenderWith(typeof(_SwitchRenderer))]
+ public class Switch : View
+ {
+ public static readonly BindableProperty IsToggledProperty = BindableProperty.Create("IsToggled", typeof(bool), typeof(Switch), false, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ EventHandler<ToggledEventArgs> eh = ((Switch)bindable).Toggled;
+ if (eh != null)
+ eh(bindable, new ToggledEventArgs((bool)newValue));
+ }, defaultBindingMode: BindingMode.TwoWay);
+
+ public bool IsToggled
+ {
+ get { return (bool)GetValue(IsToggledProperty); }
+ set { SetValue(IsToggledProperty, value); }
+ }
+
+ public event EventHandler<ToggledEventArgs> Toggled;
+ }
+} \ No newline at end of file