Как выполнить команду по событию KeyDown для TextBox?
Можно использовать конвертер i:InvokeCommandAction из System.Windows.Interactivity.
1) Добавить сборку System.Windows.Interactivity с помощью добавления ссылки (она в списке расширений).
2) Добавить указанную сборку в xaml:xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
3) Использовать i:EventTrigger и i:InvokeCommandAction:<TextBox>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="KeyDown">
            <i:InvokeCommandAction Command="{Binding KeyDownCommand}"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</TextBox>
Но если вы хотите там вызывать только обработку представления, например, запретить определённые клавиши (то есть, не нужны данные из слоя бизнес-логики), то есть смысл обработку сделать обычным способом - в code-behind (xaml.cs).
А что мешает написать в code-behind функцию, что будет присоединена к контролу<TextBox KeyDown="KeyEvents"></TextBox>
из которой и выполните команду. 
code-behind и XAML это уровень представления.
И через DataContext получите вашу ViewModel