[WinRT] Fix regression on ListView selection with enter key (#402)
authorPaul DiPietro <pauldipietro@users.noreply.github.com>
Fri, 30 Sep 2016 19:28:08 +0000 (14:28 -0500)
committerJason Smith <jason.smith@xamarin.com>
Fri, 30 Sep 2016 19:28:08 +0000 (12:28 -0700)
Xamarin.Forms.Platform.WinRT/ListViewRenderer.cs

index d65f7f6..db581d5 100644 (file)
@@ -511,7 +511,12 @@ namespace Xamarin.Forms.Platform.WinRT
                void OnKeyPressed(object sender, KeyRoutedEventArgs e)
                {
                        if (e.Key == VirtualKey.Enter)
-                               OnListItemClicked(List.SelectedIndex);
+                       {
+                               if (Element.SelectedItem != null && Element.SelectedItem != List.SelectedItem)
+                               {
+                                       ((IElementController)Element).SetValueFromRenderer(ListView.SelectedItemProperty, List.SelectedItem);
+                               }
+                       }
                }
 
                void OnControlSelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -535,13 +540,6 @@ namespace Xamarin.Forms.Platform.WinRT
                                }
                        }
 #endif
-
-                       // This is used for respecting ListView selection changes via keyboard, as the SelectedItem
-                       // value is otherwise not set.
-                       if (Element.SelectedItem != null && Element.SelectedItem != List.SelectedItem)
-                       {
-                               ((IElementController)Element).SetValueFromRenderer(ListView.SelectedItemProperty, List.SelectedItem);
-                       }
                }
 
                FrameworkElement FindElement(object cell)