void OnItemMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (sender is TreeViewItem) { if (!((TreeViewItem)sender).IsSelected) { return; } } var clickedItem = TryGetClickedItem(e); if (clickedItem == null) { return; } e.Handled = true; // to cancel expanded/collapsed toggle ISelectionValidation sel = (ISelectionValidation)clickedItem.DataContext; if (sel.ValidSelection) { INotifyDoubleClick ctx = (INotifyDoubleClick)clickedItem.DataContext; if (ctx.OnMouseDoubleClick(m_ctrlTreeView, (TreeViewItem)sender)) { this.Close(); } } }
private void OnItemMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (sender is TreeViewItem) { if (!((TreeViewItem)sender).IsSelected) { return; } } var clickedItem = TryGetClickedItem(e); if (clickedItem == null) { return; } e.Handled = true; // to cancel expanded/collapsed toggle INotifyDoubleClick ctx = (INotifyDoubleClick)clickedItem.DataContext; Select_Click(sender, e); ctx.OnMouseDoubleClick(m_ctrlTreeView, (TreeViewItem)sender); }