2012-04-10 26 views
0

以下は、メニュー項目のショートカットを割り当てようとしたものです。メニュー項目をクリックするとうまくいくが、ショートカットは機能しない。何か案が?私の作品メニュー項目のショートカット

<Window.CommandBindings> 
    <CommandBinding Command="ApplicationCommands.Save" Executed="MyCommand" /> 
</Window.CommandBindings> 

<Window.InputBindings> 
    <KeyBinding Key="S" Modifiers="Control" Command="ApplicationCommands.Save"/> 
</Window.InputBindings> 

<MenuItem Header="Save" Name="MainMenu_File_Save" Command="ApplicationCommands.Save"> 
    <MenuItem.Icon> 
     <Image Height="16" Width="16" Source="/NewGUI_WPF;component/Images/saveHS.png" /> 
    </MenuItem.Icon> 
</MenuItem> 

private void MyCommand(object sender, ExecutedRoutedEventArgs e) {...} 
+0

大きな質問です。すでに回答済みです。http://stackoverflow.com/questions/4682915/defining-menuitem-shortcuts –

+0

私はそのリンクを知っています。しかし、私は間違いを見つけることができません。 – Shibli

+0

xamlとコード全体を投稿することはできますか?私にとっては、すべてがうまくいく。おそらく他の何かが同じコマンドを使っているのでしょうか? –

答えて

0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Navigation; 
using System.Windows.Shapes; 

namespace test 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 

     private void MyCommand(object sender, ExecutedRoutedEventArgs e) 
     { 
      MessageBox.Show("Test"); 
     } 
    } 
} 

<Window x:Class="test.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Window.CommandBindings> 
    <CommandBinding Command="ApplicationCommands.Save" Executed="MyCommand" /> 
    </Window.CommandBindings> 

    <Window.InputBindings> 
    <KeyBinding Key="S" Modifiers="Control" Command="ApplicationCommands.Save"/> 
    </Window.InputBindings> 

    <Grid> 
    <Menu IsMainMenu="True"> 
    <MenuItem Header="_File"> 
     <MenuItem Header="Save" Name="MainMenu_File_Save" Command="ApplicationCommands.Save" /> 
    </MenuItem> 
    </Menu> 
    </Grid> 
</Window> 

。それはあなたのために働くのですか?

+0

親メニューをクリックしてショートカットを実行すると機能しますが、そうでない場合は機能しません。 – Shibli

+0

私はサンプルを修正しましたが、それでも動作します。アプリケーションのウィンドウがアクティブになっていますか? –

+0

xamlに問題はありますか? –

関連する問題