diff options
Diffstat (limited to 'Xamarin.Forms.Platform.WP8')
-rw-r--r-- | Xamarin.Forms.Platform.WP8/ButtonRenderer.cs | 13 |
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() |