WPF: «ApplicationCommands.New» показывает неверный источник в случае MenuItem

Я новичок в WPF и рассматриваю примеры Professional WPF в .net 4.5. В главе «Команды» приведен пример, когда несколько элементов управления могут отправлять одну и ту же команду. Я использую Button, CheckBox и MenuItem для запуска новой команды.

Проблема, с которой я сталкиваюсь, заключается в том, что при первом нажатии MenuItem источник отображается правильно. Тем не менее, после нажатия кнопки или CheckBox, затем нажатие MenuItem показывает мне источник последней кнопки управления или CheckBox, в зависимости от того, что было нажато. Я не мог найти, что было не так с моим кодом или почему это поведение показано MenuItem в WPF.

Ниже приведен код.

<Window x:Class="WpfApplication1.CommandSample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="CommandSample" Height="300" Width="300">
  <Window.CommandBindings>
    <CommandBinding Command="New" Executed="CommandBinding_Executed" />
  </Window.CommandBindings>
  <StackPanel>
    <Button Command="New" MaxWidth="80" MaxHeight="30" Content="{x:Static ApplicationCommands.New}" />
    <Menu MaxHeight="30" VerticalAlignment="Top">
      <MenuItem Header="File">
        <MenuItem Command="New"></MenuItem>
      </MenuItem>
    </Menu>
    <CheckBox Command="New"></CheckBox>

  </StackPanel>
</Window>

namespace WpfApplication1 {
  public partial class CommandSample: Window {
    public CommandSample() {
      InitializeComponent();
    }
    private void CommandBinding_Executed(object sender,ExecutedRoutedEventArgs e)
    {
      MessageBox.Show("New Command launched by " + e.Source);
    }
  }
}

Ответы на вопрос(1)

Ваш ответ на вопрос