summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.WP8
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.WP8')
-rw-r--r--Xamarin.Forms.Platform.WP8/ButtonRenderer.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs b/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
index a84a3db6..e44d244c 100644
--- a/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
@@ -2,6 +2,7 @@
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
+using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using Xamarin.Forms.Internals;
@@ -20,7 +21,9 @@ namespace Xamarin.Forms.Platform.WinPhone
base.OnElementChanged(e);
var button = new WButton();
+ button.ClickMode = ClickMode.Press;
button.Click += HandleButtonClick;
+ button.AddHandler(UIElement.TapEvent, new EventHandler<GestureEventArgs>(HandleButtonTap), true);
SetNativeControl(button);
UpdateContent();
@@ -60,9 +63,13 @@ namespace Xamarin.Forms.Platform.WinPhone
void HandleButtonClick(object sender, RoutedEventArgs e)
{
- Button buttonView = Element;
- if (buttonView != null)
- ((IButtonController)buttonView).SendClicked();
+ ((IButtonController)Element)?.SendPressed();
+ }
+
+ void HandleButtonTap(object sender, GestureEventArgs e)
+ {
+ ((IButtonController)Element)?.SendReleased();
+ ((IButtonController)Element)?.SendClicked();
}
void UpdateBackground()