private void EditTextBlockName(object sender, MouseButtonEventArgs e)
 {
     EditableTextBlock editableTextBlock = sender as EditableTextBlock;
     if (previousTextBlock == null || previousTextBlock != editableTextBlock)
     {
         previousTextBlock = editableTextBlock;
         clickCount = 0;
     }
     if (e.MiddleButton == MouseButtonState.Pressed || e.RightButton == MouseButtonState.Pressed)
     {
         editableTextBlock.IsInEditMode = true;
     }
     else if (clickCount == 0)
     {
         clickCount++;
         stopwatch2 = Stopwatch.StartNew();
     }
     else if (clickCount == 1)
     {
         int elapsedMilliseconds = (int)stopwatch2.ElapsedMilliseconds;
         if (elapsedMilliseconds > 600)
         {
             editableTextBlock.IsInEditMode = true;
             stopwatch2.Reset();
             clickCount = 0;
         }
     }
 }
 public EditableTextBlockAdorner(EditableTextBlock adornedElement)
     : base(adornedElement)
 {
     _collection = new VisualCollection(this);
     _textBox = new TextBox();
     _textBlock = adornedElement;
     Binding binding = new Binding("Text") {Source = adornedElement};
     _textBox.SetBinding(TextBox.TextProperty, binding);
     _textBox.AcceptsReturn = true;
     _textBox.MaxLength = adornedElement.MaxLength;
     _textBox.KeyUp += _textBox_KeyUp;
     _collection.Add(_textBox);
 }