Trigger a command from one user control and handle it in the view model of another
<p>In Commands.cs, a command is defined:</p>

<pre><code>public static readonly RoutedUICommand Account_OpenDetails 
            = new RoutedUICommand("show account details", 
                                  "Account_OpenDetails", 
                                   typeof(MainWindow));
</code></pre>

<p>In <code>UserControl1View</code> I have:</p>

<pre><code>&lt;i:Interaction.Triggers&gt;
        &lt;i:EventTrigger EventName="MouseLeftButtonDown"&gt;
            &lt;i:InvokeCommandAction Command="LocalCommands:Command.Account_OpenDetails" 
                                   CommandParameter="{Binding AccountId}" /&gt;
        &lt;/i:EventTrigger&gt;
    &lt;/i:Interaction.Triggers&gt;
</code></pre>

<p>In <code>UserControl2View</code> I want to do this:</p>

<pre><code>&lt;UserControl.CommandBindings&gt;
        &lt;CommandBinding Command="LocalCommands:Command.Account_OpenDetails" 
                        Executed="{Binding Account_OpenDetails}" /&gt;
    &lt;/UserControl.CommandBindings&gt;
</code></pre>

<p>And I was hoping this would invoke the following method in <code>UserControl2ViewModel</code> (which is the DataContext of <code>UserControl2View</code>):</p>

<pre><code>public void Account_OpenDetails(object sender, ExecutedRoutedEventArgs e)
</code></pre>

<p>Instead, I am getting:</p>

<blockquote>
  <p>Unable to cast object of type 'System.Reflection.RuntimeEventInfo' to
  type 'System.Reflection.MethodInfo'.</p>
</blockquote>

<p>Basically, from the XAML of one user control I want to trigger a Command, which is handled in the view model of another user control. I can handle this in the <code>.cs</code> of the <code>UserControl2View</code>, but I don't want to. I want it to be handled in the view model.</p>

<p>What is the correct syntax? I am open to any other ideas, as long as I achieve the same behavior.</p>