Функциональность ярлыка MenuItem не работает - PullRequest
0 голосов
/ 19 января 2020

Я создал приложение с меню, как показано ниже.

<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

Но без фокусировки все равно не работает.

Что мне нужно сделать, чтобы решить эту проблему? Не могли бы вы мне сказать, почему возникла эта проблема?

Спасибо за чтение.

...