il y a plusieurs boutons dans la fenêtre principale de mon application WPF. Les commandes de ces boutons doivent avoir la même implémentation/fonction mais selon le bouton pressé, le fichier/chemin sur lequel la fonction accède change. Comment détecter quel bouton a été cliqué à partir de ViewModel en utilisant CommandParameter? Comment puis-je utiliser ce paramètre dans la méthode Dowork? Dans cet exemple, le paramètre CommandParameter de Button1 est appelé "button1" et celui de Button2 est "button2".Passez un paramètre de commande à Backgroundworker dans ViewModel WPF
Son est le code du BackgroundWorker dans mon ViewModel:
public ViewModel()
{
...
this.instigateWorkCommand = new DelegateCommand(o => this.worker.RunWorkerAsync(), o => !this.worker.IsBusy);
this.worker = new BackgroundWorker();
this.worker.DoWork += this.DoWork;
this.worker.ProgressChanged += this.ProgressChanged;
this.worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_Completeted);
this.worker.WorkerReportsProgress = true;
}
Son est le code de DoWork dans mon ViewModel:
private void DoWork(object sender, DoWorkEventArgs e)
{
// if (parameter.ToString().contains("button1")...
// if (parameter.ToString().contains("button2")...
}
Jetez un coup d'oeil ici http://stackoverflow.com/questions/5566323/wpf-how-to-know-the-current-button-pressed-among-multiple-buttons – Ggalla1779