Come sparare un comando instradato da un determinato evento?
-
02-10-2019 - |
Domanda
Sono una semplice domanda sui comandi in WPF: Ho un pulsante con un'ICommand legato alla proprietà Command, e quando si fa clic su questo pulsante, viene avviato il comando, e wow funziona:)
Ora whant di avviare un particolare comando, quando sto solo spingendo verso il basso il pulsante ( MouseLeftButtonDown evento credo), ma io non so come posso mettere più comandi per un pulsante, e specificare l'evento che partirà il comando.
Avete qualche idea? Forse un controllo personalizzato?
Grazie per voi aiuto,
Antoine.
Soluzione
Si potrebbe considerare basando la propria classe sul Button
ed estendendolo con il proprio set di Command
, CommandTarget
e CommandParameter
-come le proprietà (forse anche DependencyProperty
Quando si vuole sparare il comando, basta fare questo:.
void FireCommand()
{
var routedCommand = Command as RoutedCommand;
if (routedCommand != null)
{
routedCommand.Execute(CommandParameter, CommandTarget);
}
else if (Command != null)
{
Command.Execute(CommandParameter);
}
}