2013-03-11 5 views
0

Как добавить короткий ключ к кнопке в wpf? У меня есть три окна с новой кнопкой, и я хочу добавить Ctrl + N или т. Д. Для всех из них.Добавить кратковременный ключ к кнопке

+2

Вы можете использовать подчеркивание '_' в содержании кнопки и она будет срабатывать с' ключом Alt'. также см .: http://stackoverflow.com/questions/3246134/assign-short-cut-key-to-a-button-wpf – Habib

+0

Этот похожий вопрос может быть интересен: http://stackoverflow.com/questions/612966/keyboard-events-in-a-wpf-mvvm-application –

ответ

2

Вот отличный учебник для этого: http://tech.pro/tutorial/839/wpf-tutorial-command-bindings-and-custom-commands

образца (из указанной выше ссылке)

<Window x:Class="CustomCommandTest.CommandWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Custom Command Test" Height="300" Width="300"> 

    <Window.CommandBindings> 
    <CommandBinding Command="Help" 
     CanExecute="HelpCanExecute" 
     Executed="HelpExecuted" /> 
    </Window.CommandBindings> 

    <Window.InputBindings> 
    <KeyBinding Command="Help" Key="H" Modifiers="Ctrl"/> 
    <MouseBinding Command="Help" MouseAction="LeftDoubleClick" /> 
    </Window.InputBindings> 

    <StackPanel> 
    <Button Command="Help" Content="Help Command Button" /> 
    <Button Content="My Command" x:Name="MyCommandButton" /> 
    </StackPanel> 
</Window> 
+0

Как добавить к нескольким окнам? – AComputer

+0

@AComputert: напишите подкласс, который наследуется от Window или UserControl. Затем реализуйте их в этом 'YourWindow', а затем используйте его вместо любого желаемого окна. – aisa

1

вы можете сделать это следующим способом тоже. в методе записи формы, указывающем короткие клавиши.

private void shortcutKey_Click(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
    if ((e.Key == Key.N) && (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))) 
     ProjMnuBtn_AddProj_Click(null, null); 
} 

затем в XAML файле необходимо установить его следующим образом:

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Width="1280" Height="920" KeyUp="shortcutKey_Click"> 

</Window> 
+0

Как я могу добавить в несколько окон? – AComputer

+0

в этом методе вы должны написать этот код в каждом окне – DevT

Смежные вопросы