gibt es viele Schaltflächen im Hauptfenster meiner WPF-App. Die Befehle dieser Schaltflächen sollten die gleiche Implementierung/Funktion haben, aber abhängig davon, welche Schaltfläche gedrückt wurde, ändert sich die Datei/der Pfad, auf den die Funktion zugreift. Wie kann ich erkennen, welche Schaltfläche mit CommandParameter aus ViewModel geklickt wurde? Wie kann ich diesen Parameter in der Methode Dowork verwenden? In diesem Beispiel heißt der CommandParameter von Button1 "button1" und der von Button2 ist "button2".Übergeben Sie einen Befehlsparameter an Backgroundworker in ViewModel WPF
Her ist der Code des Backgroundworker in meinem 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;
}
Her ist der Code von DoWork in meinem Viewmodel:
private void DoWork(object sender, DoWorkEventArgs e)
{
// if (parameter.ToString().contains("button1")...
// if (parameter.ToString().contains("button2")...
}
Schauen Sie hier http://StackOverflow.com/Questions/5566323/WPF-how-to-know-the-current-button-pressed-among-multiple-buttons – Ggalla1779