protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { if (Node == null) { // Ignore it: Node is sometimes null } else if (wasDoubleClick) { wasDoubleClick = false; Node.ActivateItem(e); if (!e.Handled) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } } else if (!Node.IsExpanded && Node.SingleClickExpandsChildren) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } ReleaseMouseCapture(); if (wasSelected) { base.OnMouseLeftButtonDown(e); } }
private void DoubleClickAction(Tuple <MouseButtonEventArgs, SharpTreeNode> context) { var e = context.Item1; var node = context.Item2; if (node != null) { Node.ActivateItem(e); } }
void OnDoubleClick(RoutedEventArgs e) { if (Node == null) { return; } Node.ActivateItem(e); if (!e.Handled) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } }
/*protected override void OnMouseMove(MouseEventArgs e) { if (IsMouseCaptured) { var currentPoint = e.GetPosition(null); if (Math.Abs(currentPoint.X - startPoint.X) >= SystemParameters.MinimumHorizontalDragDistance || Math.Abs(currentPoint.Y - startPoint.Y) >= SystemParameters.MinimumVerticalDragDistance) { var selection = ParentTreeView.GetTopLevelSelection().ToArray(); Node.StartDrag(this, selection); } } }*/ protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { if (wasDoubleClick) { wasDoubleClick = false; Node.ActivateItem(e); if (!e.Handled) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } } ReleaseMouseCapture(); if (wasSelected) { base.OnMouseLeftButtonDown(e); } }
protected override void OnPointerReleased(PointerReleasedEventArgs e) { if (wasDoubleClick) { wasDoubleClick = false; Node.ActivateItem(e); if (!e.Handled) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } } //ReleaseMouseCapture(); e.Pointer.Capture(null); if (wasSelected) { base.OnPointerReleased(e); } }
protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { if (wasDoubleClick) { System.Diagnostics.Debug.WriteLine("OnMouseLeftButtonUp:Itemのダブルクリック処理"); wasDoubleClick = false; Node.ActivateItem(e); if (!e.Handled) { if (!Node.IsRoot || ParentTreeView.ShowRootExpander) { Node.IsExpanded = !Node.IsExpanded; } } } ReleaseMouseCapture(); System.Diagnostics.Debug.WriteLine("OnMouseLeftButtonUp:マウスキャプチャー解除 wasSelected={0}", wasSelected); //JumonEdited:wasSelectedによる再選択処理はうまく機能してないので削除 //if (wasSelected) { // base.OnMouseLeftButtonDown(e); //} }