Ada banyak jenis input keyboard seperti KeyDown, KeyUp, TextInput, dll. Dalam contoh berikut, beberapa input keyboard ditangani. Contoh berikut mendefinisikan penangan untuk peristiwa Klik dan penangan untuk peristiwa KeyDown.
<Window x:Class = "WPFKeyboardInput.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local = "clr-namespace:WPFKeyboardInput"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<StackPanel Orientation = "Horizontal" KeyDown = "OnTextInputKeyDown">
<TextBox Width = "400" Height = "30" Margin = "10"/>
<Button Click = "OnTextInputButtonClick"
Content = "Open" Margin = "10" Width = "50" Height = "30"/>
</StackPanel>
</Grid>
</Window>
Berikut adalah kode C # yang menangani berbagai peristiwa keyboard dan klik.
using System.Windows;
using System.Windows.Input;
namespace WPFKeyboardInput {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void OnTextInputKeyDown(object sender, KeyEventArgs e) {
if (e.Key == Key.O && Keyboard.Modifiers == ModifierKeys.Control) {
handle();
e.Handled = true;
}
}
private void OnTextInputButtonClick(object sender, RoutedEventArgs e) {
handle();
e.Handled = true;
}
public void handle() {
MessageBox.Show("Do you want to open a file?");
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu akan menghasilkan jendela berikut -
Jika Anda mengklik tombol Buka atau menekan tombol CTRL + O di dalam kotak teks, pesan yang sama akan ditampilkan.