Я создал приложение с меню, как показано ниже.
<advanceControls:AdvancedWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Menus/MainWindowMenus.xaml"/>
<ResourceDictionary Source="Resources/Menus/MainWindowStatusBar.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</advanceControls:AdvancedWindow.Resources>
...
<ContentControl Grid.Row="0" Content="{StaticResource MainWindowMenus}"/>
...
И приведенный ниже код - MainWindowMenus, определенный в ResourceDirectory.
<Menu x:Key="MainWindowMenus" VerticalAlignment="Center" DockPanel.Dock="Left" HorizontalAlignment="Left" Margin="8,0,0,0">
<MenuItem Header="{lex:Loc Key=_File}" InputGestureText="Alt+F">
<!-- New -->
<MenuItem Header="{lex:Loc Key=New}" InputGestureText="Alt+N">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="{StaticResource NewFileMenuImagePath}"/>
</MenuItem.Icon>
<MenuItem Header="{lex:Loc Key=Project}" InputGestureText="Ctrl+Shift+N">
<MenuItem.InputBindings>
<KeyBinding Key="N" Modifiers="Ctrl+Shift"
Command="{Binding NewProjectCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type main:MainWindow}},
Converter={logicConverters:ProjectCreateLogicConverter}}"/>
</MenuItem.InputBindings>
</MenuItem>
</MenuItem>
...
Приведенный выше код работает хорошо, за исключением ярлыка функциональность. Как видите, ярлыки «Ctrl + Shift + N» определены, но они не работают, когда я нажал ярлык после запуска приложения.
Команда, связанная с MenuItem, работает хорошо. только не работают функциональные возможности ярлыков.
После подробного теста я обнаружил, что если я нажимаю клавишу быстрого доступа (Ctrl + Shift + N) после фокусировки, как показано ниже, то это работает хорошо.
![enter image description here](https://i.stack.imgur.com/JIfmf.png)
Но без фокусировки все равно не работает.
Что мне нужно сделать, чтобы решить эту проблему? Не могли бы вы мне сказать, почему возникла эта проблема?
Спасибо за чтение.