private void TextBlock_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var header = sender as FrameworkElement; if (header != null) { AbstractSolutionItem solutionItem = header.DataContext as AbstractSolutionItem; if (solutionItem != null) { if (DateTime.Now.Subtract(m_clickTime).Milliseconds >= 400) { if (m_rememberIsSelected.ContainsKey(header) && m_rememberIsSelected[header]) { solutionItem.HeaderBeingEdited = true; TextBox txtHeaderEdit = UIHelper.TryFindSibling <TextBox>(header); if (txtHeaderEdit != null) { txtHeaderEdit.Focus(); } } } } } }
private void TextBlock_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { var header = sender as FrameworkElement; if (header != null) { TreeViewItem tvi = UIHelper.TryFindParent <TreeViewItem>(header); if (tvi != null) { if (m_rememberIsSelected.ContainsKey(header)) { m_rememberIsSelected[header] = tvi.IsSelected; } else { m_rememberIsSelected.Add(header, tvi.IsSelected); AbstractSolutionItem solutionItem = header.DataContext as AbstractSolutionItem; if (solutionItem != null) { tvi.KeyDown += new KeyEventHandler(solutionItem.KeyDown); } } if (!tvi.IsSelected) { m_clickTime = DateTime.Now; } } } }
private void TextBox_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) { TextBox headerEdit = sender as TextBox; if (headerEdit != null) { AbstractSolutionItem solutionItem = headerEdit.DataContext as AbstractSolutionItem; if (solutionItem != null && solutionItem.HeaderBeingEdited) { solutionItem.HeaderEditAccept(); } } }
private void FrameworkElement_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { var header = sender as FrameworkElement; if (header != null) { AbstractSolutionItem solutionItem = header.DataContext as AbstractSolutionItem; if (solutionItem != null) { if (e.ClickCount == 2) { solutionItem.Open(); e.Handled = true; } } } }
private void TextBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { TextBox headerEdit = sender as TextBox; if (headerEdit != null) { AbstractSolutionItem solutionItem = headerEdit.DataContext as AbstractSolutionItem; if (solutionItem != null) { if (e.Key == System.Windows.Input.Key.Enter) { solutionItem.HeaderEditAccept(); } else if (e.Key == System.Windows.Input.Key.Escape) { solutionItem.HeaderEditCancel(); } } } }