title: Copying to clipboard and pasting events
body: <p>I have a class User with a few fields of type string and int, I have a datagrid that displays those fields, I want the user to be able to select a row and press <kbd>CTRL</kbd>+<kbd>C</kbd> to copy the object the row represents to the clipboard, and when the user presses <kbd>CTRL</kbd>+<kbd>V</kbd> (when focus is on the datagrid) will add a new row to the datagrid.
  the code:</p>
  
  <p>in xaml:</p>
  
  <pre><code>&lt;DataGrid KeyDown="dgKeyDown" SelectionMode="Single" Name="dg1" 
            AutoGenerateColumns="False" CanUserAddRows="True" 
            CopyingRowClipboardContent="dg1Users_CopyingRowClipboardContent"&gt;
      &lt;DataGrid.Columns&gt;
          &lt;DataGridTextColumn Header="Name" Width="Auto" Binding="{Binding Name}"/&gt;
          &lt;DataGridTextColumn Header="ID" Width="Auto" Binding="{Binding ID}" /&gt;
          &lt;DataGridTextColumn Header="Age" Width="Auto" Binding="{Binding Age}"/&gt;
      &lt;/DataGrid.Columns&gt;
  &lt;/DataGrid&gt;
  </code></pre>
  
  <p>dg1 Items Source is set to an observable collection of User objects:</p>
  
  <pre><code>dg1.ItemsSource = dg1Users;
  </code></pre>
  
  <p>and the copy and paste events:</p>
  
  <pre><code>private void dg1Users_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
  {
      User a = dg1.SelectedItem as User;
      if (a != null)
      {
          Clipboard.Clear();
          Clipboard.SetData("User1", a);
      }
  }
  
  private void dgKeyDown(object sender, KeyEventArgs e)
  {
      User a = null;
      if (e.Key == Key.V &amp;&amp; (Keyboard.Modifiers &amp; ModifierKeys.Control) == ModifierKeys.Control)
      {
          if(Clipboard.ContainsData("User1"))
          {
              a = (User)Clipboard.GetData("User1");
              dg1Users.Add(a);
          }
      }
  }
  </code></pre>
  
  <p>It doesn't work, nothing happens, testing with a few print statements I found that when <kbd>CTRL</kbd>+<kbd>V</kbd> is pressed, the code in the 2nd if in dgKeyDown doesn't execute. </p>
  
  <p>What am I doing wrong?</p>
  
  <p>Note: I'm NOT using MVVM pattern.</p>