Ignazio Catanzaro

Sviluppatore Software

C# .Net

Archivio Posts
Anno 2012

Anno 2011

Anno 2010
Sondaggio
Introdurre argomenti di software engineering in un blog può essere utile?

Si
No

WPF - Keyboard shortcuts

Salve a tutti, dopo una lunga assenza scrivo questo piccolo post :)

Molte volte si ha bisogno di gestire i famosi quanto indispensabili shortcut da tastiera, vediamo come fare utilizzando C# e WPF :

Creiamo in una classe una variabile statica di tipo RoutedCommand :

  public static RoutedCommand MioCommand = new RoutedCommand();

Inoltre, sulla variabile MioCommand bisogna necessariamente aggiungere una KeyGesture : 

  MioCommand.InputGestures.Add( new KeyGesture( Key.P , ModifierKeys.Control )); //Lo shortcut è CTRL+P

Successivamente nello xaml della nostra/o window/usercontrol andiamo ad aggiungere un oggetto di tipo CommandBinding all'interno della proprietà CommandBindings e ne impostiamo la proprietà command assegnando ad essa la variabile statica di tipo RoutedCommand :

  <Window.CommandBindings>
       <CommandBinding Command="{x:Static local:MiaClasse.MioCommand }" Executed="MioCommandExecuted"/>
  </Window.CommandBindings>

Possiamo notare la presenza dell'evento "Executed" , tramite l'editor xaml generate l'event handler e all'interno di tale metodo eseguite le operazioni da effettuare alla pressione dello shortcut :

  private void MioCommandExecuted( object sender, ExecutedRoutedEventArgs e )

  {

     //Operazioni varie

  }


Per approfondire di piu l'argomento vi consiglio di dare una bella lettura ai seguenti articoli :

http://msdn.microsoft.com/it-it/library/system.windows.uielement.commandbindings.aspx

http://msdn.microsoft.com/it-it/library/system.windows.input.commandbinding.aspx

http://msdn.microsoft.com/it-it/library/system.windows.input.routedcommand.aspx

http://msdn.microsoft.com/it-it/library/system.windows.input.keygesture.aspx

Stay tuned ;)

Categoria: Framework .Net
giovedì, 12 lug 2012 Ore. 12.45

Calendario
novembre 2024
lmmgvsd
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
Ora e Data
Statistiche
  • Views Home Page: 33.413
  • Views Posts: 46.181
  • Views Gallerie: 0
  • n° Posts: 24
  • n° Commenti: 12
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003