I have a problem getting to the original source of a command using ExecutedRoutedEventArgs.

I'm creating a simple splitbutton, in which a menu will appear below a dedicated button, as another button is pressed. When I click a menuitem in the appearing menu a command is fired. This command is registered on the splitbutton. And the idea is to get to the menuitem beeing clicked, by using the ExecutedRoutedEventsArgs.

Ok, now the problem. If I choose to have the popup menu shown by default (IsOpen="True") and I click one of the menuitems I can get to the originalsource (thus the menuitem) from the ExecutedRoutedEventArgs - no problem. However, if I first click the button to show the menu and THEN click on a menuitem, the originalsource of the command will be the button instead of the MenuItem!

Here's the controltemplate for the splitbutton:

<ControlTemplate TargetType="{x:Type usc:SplitButton}">
<StackPanel Orientation="Horizontal">
<
Button Name="mybutton">
<
StackPanel>
<Popup usc:SplitButton.IsPopup="True" IsOpen="True" Name="myPopup" PlacementTarget="{Binding ElementName=mybutton}" StaysOpen="False" Placement="Bottom">
<
Border BorderBrush="Beige" BorderThickness="1">
<Menu Width="120">
<
MenuItem Header="item1" Command="usc:SplitButton.MenuItemClickCommand" />
<
MenuItem Header="item2" />
<
MenuItem Header="item3" />
</
Menu>
</
Border>
</
Popup>
<
TextBlock Text="MySplitbutton" />
</
StackPanel>
</
Button>
<
Button Content="OK" Command="usc:SplitButton.ShowMenuCommand"
/>
</StackPanel
>
</
ControlTemplate>

The OK button fires a ShowMenuCommand on the SplitButton, which sets the IsOpen property on the Popup to True.

Any ideas why the OK button (after having activated the menu) is the OriginalSource when a menuitem is clicked?

Thanks.