public void Unfocus(object sender = null) { if (tempBox == null) { return; } if (sender == null) { sender = tempBox; } if (modifyingText == null) { return; } TextBox box = sender as TextBox; String beforeText = modifyingText.Text; string text = box.Text; modifyingText.Text = text; modifyingText.ToolTip = text; MainGrid.Children.Remove(box); modifyingText.Visibility = System.Windows.Visibility.Visible; _isModifying = false; ActivatedRow = null; tempBox.ReleaseMouseCapture(); int col = _items.IndexOf(modifyingText); if (E_TextChanged != null) { E_TextChanged(this, new ListRowTextChangedEventArgs(this, modifyingText, beforeText, text, col)); } }
public ListRowTextChangedEventArgs(RtwListRow rowObj, TextBlock txtObj, String beforeText, String afterText, int col, int row = -1) { RowIndex = row; ColIndex = col; OriginalRow = rowObj; OriginalSource = txtObj; Text = afterText; BeforeText = beforeText; }
public ListRowClickEventArgs(int rowIndex, int colIndex, RtwListRow row, UIElement selectedItem = null, UIElement source = null, UIElement originalSource = null, ListBox listObj = null) { RowIndex = rowIndex; ColIndex = colIndex; ListRowItem = row; SelectedItem = selectedItem; ListObj = listObj; Source = source; OriginalSource = originalSource; }
public void setModifyMode(int colIndex) { if (colIndex < 0) { return; } try { if (_isModifying == false && _items[colIndex] is TextBlock) { _isModifying = true; //modifingIndex = colIndex; TextBlock textBlock = (_items[colIndex] as TextBlock); String text = textBlock.Text; textBlock.Visibility = System.Windows.Visibility.Hidden; double wid = (_wid.Count > colIndex && _wid[colIndex] >= 0)? _wid[colIndex]: textBlock.Width; TextBox box = tempBox; box.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; box.BorderBrush = null; box.VerticalContentAlignment = System.Windows.VerticalAlignment.Center; box.PreviewKeyUp += new KeyEventHandler(box_KeyUp); box.LostFocus += new RoutedEventHandler(box_LostFocus); box.Width = textBlock.Width; Point pt = _panel.PointFromScreen(_panel.Children[colIndex + 1].PointToScreen(new Point(0, 0))); box.Margin = new Thickness(pt.X, 0, 0, 0); box.Text = text; box.SelectAll(); //modifingTemp = panel.Children[modifingIndex]; modifyingText = textBlock; _savedText = text; this.MainGrid.Children.Add(box); box.Focus(); ActivatedRow = this; } } catch (Exception e) { throw e; } }