title: Silverlight 4 EventTrigger Handled
body: <p>I have two nested Grid (FrameworkElement) items in my application.</p>
  
  <pre><code>&lt;UserControl xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"&gt;        
  &lt;Grid x:name="OuterGrid"&gt;
            &lt;i:Interaction.Triggers&gt;
            &lt;i:EventTrigger EventName="MouseLeftButtonDown"&gt;
             &lt;i:InvokeCommandAction x:Name="TheOuterCommand" Command="{Binding OuterCommand}"/&gt;
              &lt;/i:EventTrigger&gt;
          &lt;/i:Interaction.Triggers&gt;
              &lt;Grid x:name="InnerGrid"&gt;
               &lt;i:Interaction.Triggers&gt;
                  &lt;i:EventTrigger EventName="MouseLeftButtonDown"&gt;
                      &lt;i:InvokeCommandAction x:Name="TheInnerCommand" Command="{Binding InnerCommand}"/&gt;
                      &lt;/i:EventTrigger&gt;
                  &lt;/i:Interaction.Triggers&gt;
          &lt;/Grid&gt;
      &lt;/Grid&gt;
  &lt;/UserControl&gt;
  </code></pre>
  
  <p>Each of the InvokeCommands is attached to a <strong>DelegateCommand</strong> (from the Prism libraries) in the viewmodel.</p>
  
  <pre><code>OuterCommand = new DelegateCommand(OuterCommandMethod, e =&gt; true);
  InnerCommand = new DelegateCommand(InnerCommandMethod, e =&gt; true);
  </code></pre>
  
  <p>At the moment, the EventTrigger on <em>InnerGrid</em> also triggers the event on the <em>OuterGrid</em> due to the <strong>MouseLeftButtonEvent</strong> not being handled at the <em>InnerGrid</em> level.</p>
  
  <p>Is there a way I can notify the <strong>EventTrigger</strong> that it is handled and it should not bubble up to the OuterGrid?</p>
  
  <p>At the moment, all I can think to do is have a wrapper FrameworkElement around the InnerGrid that uses an event on the XAML code-behind to set the event to handled. Does anyone have any other ideas?</p>
  
  <p><strong>---- Edit ----</strong>
  In the end, I have included MVVM Light in my application and replaced InvokeCommandAction with RelayCommand. This is now working as I intended. I'll mark Bryant's answer as the winner for giving me the suggestion.</p>