Les raccourcis clavier dans WPF MVVM?
J'ai d'application WPF qui suivent le pattern MVVM. J'ai besoin de mettre en œuvre des raccourcis clavier. Ces raccourcis ont pour contol contrôle WebBrowser comportement. J'ai défini première commande personnalisée et ajouté à la vue inputbindings. Il y aura beaucoup plus de commandes et qu'ils auraient à appeler des scripts sur navigateur:
MainWindow.xaml.cs:
...
CommandBinding cb = new CommandBinding(RemoteControlCommands.TestCommand, MyCommandExecuted, MyCommandCanExecute);
this.CommandBindings.Add(cb);
KeyGesture kg = new KeyGesture(Key.Q, ModifierKeys.Control);
InputBinding ib = new InputBinding(RemoteControlCommands.TestCommand, kg);
this.InputBindings.Add(ib);
}
private void MyCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
webBrowser.InvokeScript("foo", "Hello World!");
}
private void MyCommandCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
Ma question est comment adapter cela en MVVM patern? MVVM est un concept nouveau pour moi, mais je comprends comment lier la vue de la commande à modèle de vue et il n'y exécuter des méthodes ou modifier les propriétés.
Cependant ce dont j'ai besoin dans ce cas est d'exécuter une méthode sur un contrôle de la vue. Quel est le meilleur endroit pour raccourci la manipulation dans ce scénario?
OriginalL'auteur jlp | 2010-11-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez lier des propriétés de commande pour Afficher le Modèle de la commande.
Vous pouvez lier des paramètres de commande à une valeur comme webbrowser lui-même et de les récupérer dans votre délégué de la méthode.
+1, très belle langue de construction, nai pas rencontré avant
+1 c'est bon, et très facile. Merci.
Veuillez noter que Akash Kava réponse ne fonctionne que sur .NET 4.0, depuis
KeyBinding.Command
etKeyBinding.CommandParameter
ne sont pas des propriétés de dépendance que de .NET 3.5.OriginalL'auteur Akash Kava