← ClaudeAtlas

handling-wpf-input-commandslisted

Implements WPF input handling with RoutedCommand, ICommand, CommandBinding, and InputBinding patterns. Use when creating keyboard shortcuts, menu commands, or custom command implementations.
christian289/dotnet-with-claudecode · ★ 41 · Data & Documents · score 73
Install: claude install-skill christian289/dotnet-with-claudecode
# WPF Input and Commands Patterns > **MVVM Framework Rule**: `.claude/rules/dotnet/wpf/mvvm-framework.md` 설정에 따라 코드 스타일이 결정됩니다. > Prism 9 사용 시 → [PRISM.md](PRISM.md) 참조 Handling user input and implementing command patterns in WPF applications. ## 1. Command System Overview ``` ICommand (Interface) ├── RoutedCommand (WPF built-in) │ ├── ApplicationCommands (Copy, Paste, Cut, etc.) │ ├── NavigationCommands (BrowseBack, BrowseForward, etc.) │ ├── MediaCommands (Play, Pause, Stop, etc.) │ └── EditingCommands (ToggleBold, ToggleItalic, etc.) └── RelayCommand / DelegateCommand (MVVM) ``` --- ## 2. Built-in Commands ### 2.1 ApplicationCommands ```xml <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.Copy" Executed="CopyCommand_Executed" CanExecute="CopyCommand_CanExecute"/> <CommandBinding Command="ApplicationCommands.Paste" Executed="PasteCommand_Executed"/> </Window.CommandBindings> <StackPanel> <Button Command="ApplicationCommands.Copy" Content="Copy (Ctrl+C)"/> <Button Command="ApplicationCommands.Paste" Content="Paste (Ctrl+V)"/> <Button Command="ApplicationCommands.Undo" Content="Undo (Ctrl+Z)"/> <Button Command="ApplicationCommands.Redo" Content="Redo (Ctrl+Y)"/> </StackPanel> ``` ```csharp private void CopyCommand_Executed(object sender, ExecutedRoutedEventArgs e) { // Copy logic Clipboard.SetText(SelectedText); } private void CopyCommand_CanExec