private void Select(SelectionModel manager, IndexPath index, bool select) { Log.Comment((select ? "Selecting " : "DeSelecting ") + index); if (select) { manager.SelectAt(index); } else { manager.DeselectAt(index); } }
public void Select(bool select) { if (SelectionModel != null) { var indexPath = GetIndexPath(); if (select) { SelectionModel.SelectAt(indexPath); } else { SelectionModel.DeselectAt(indexPath); } } }
protected override void OnKeyUp(KeyRoutedEventArgs e) { var indexPath = GetIndexPath(); Debug.WriteLine("OnKeyUp:" + indexPath.ToString()); if (SelectionModel != null) { if (e.Key == VirtualKey.Escape) { SelectionModel.ClearSelection(); } else if (e.Key == VirtualKey.Space) { SelectionModel.SelectAt(indexPath); } else if (!SelectionModel.SingleSelect) { var isShiftPressed = Window.Current.CoreWindow.GetAsyncKeyState(VirtualKey.Shift).HasFlag(Windows.UI.Core.CoreVirtualKeyStates.Down); var isCtrlPressed = Window.Current.CoreWindow.GetAsyncKeyState(VirtualKey.Control).HasFlag(Windows.UI.Core.CoreVirtualKeyStates.Down); if (e.Key == VirtualKey.A && isCtrlPressed) { SelectionModel.SelectAll(); } else if (isCtrlPressed && e.Key == VirtualKey.Space) { if (SelectionModel.IsSelectedAt(indexPath).Value) { SelectionModel.DeselectAt(indexPath); } else { SelectionModel.SelectAt(indexPath); } } else if (isShiftPressed) { SelectionModel.SelectRangeFromAnchorTo(GetIndexPath()); } } } base.OnKeyUp(e); }
protected override void OnPointerPressed(PointerRoutedEventArgs e) { if (!e.Handled) { var indexPath = GetIndexPath(); Debug.WriteLine("OnPointerPressed:" + indexPath.ToString()); if (SelectionModel != null) { if (e.KeyModifiers.HasFlag(VirtualKeyModifiers.Shift) && !SelectionModel.SingleSelect) { if (e.KeyModifiers.HasFlag(VirtualKeyModifiers.Control)) { SelectionModel.DeselectRangeFromAnchorTo(GetIndexPath()); } else { SelectionModel.SelectRangeFromAnchorTo(GetIndexPath()); } } else if (e.KeyModifiers.HasFlag(VirtualKeyModifiers.Control)) { var path = GetIndexPath(); if (SelectionModel.IsSelectedAt(path).Value) { SelectionModel.SelectAt(path); } else { SelectionModel.SelectAt(path); } } else { SelectionModel.SelectAt(GetIndexPath()); this.Focus(FocusState.Keyboard); } } e.Handled = true; base.OnPointerPressed(e); } }