title: How to send a second parameter of event handler while handling an event in MVVM?
body: <p>I have a TreeView. There are two parameters <code>treeView_Expanded(object sender, RoutedEventArgs e)</code> when event <code>TreeViewItem.Expanded</code> is handled using code-behind approach:</p>
  
  <p><em>XAML:</em></p>
  
  <pre><code>&lt;TreeView Name="treeView" TreeViewItem.Expanded="treeView_Expanded"/&gt; 
  </code></pre>
  
  <p><em>Code-behind:</em></p>
  
  <pre><code>private void treeView_Expanded(object sender, RoutedEventArgs e)
  { 
       //***I take THE SECOND PARAMETER to work ***
       TreeViewItem item = e.Source as TreeViewItem;
  
  }
  </code></pre>
  
  <p>However, when I am handling <code>TreeViewItem.Expanded</code> event using MVVM rules, I always take the first parameter <code>object sender</code>. But I would like to take the second parameter <code>RoutedEventArgs e</code>:</p>
  
  <p><em>XAML:</em></p>
  
  <pre><code>&lt;TreeView ItemsSource="{Binding Person}"&gt;
     &lt;i:Interaction.Triggers&gt;
        &lt;helper:RoutedEventTrigger RoutedEvent="TreeViewItem.Expanded"&gt;
           &lt;prism:InvokeCommandAction Command="{Binding GetNewTreeViewItemCommand}"/&gt;
        &lt;/helper:RoutedEventTrigger&gt;
     &lt;/i:Interaction.Triggers&gt;
  &lt;/TreeView&gt;
  </code></pre>
  
  <p><em>ViewModel:</em></p>
  
  <pre><code>public DelegateCommand&lt;RoutedEventArgs&gt; GetNewTreeViewItemCommand { get; set; }
  public MainWindowViewModel()
  {
     GetNewTreeViewItemCommand = new DelegateCommand&lt;RoutedEventArgs&gt;(LoadNewTreeViewITem);
  }
  
  private void LoadNewTreeViewITem(RoutedEventArgs e)
  {
     //e is "object sender"(the FIRST parameter), but I want to take  
     //RoutedEventArgs e(the SECOND parameter)             
  }           
  </code></pre>
  
  <p>How can I send the second parameter when handling event in MVVM? </p>