Ich habe eine WPF Microsoft Surface Application und ich verwende MVVM-Pattern.
Ich habe einige Schaltflächen, die im Code erstellt wurden und ich möchte Befehle an sie binden, aber ich weiß nur, wie das im XAML funktioniert
so:
%Vor%Aber ich kann das nicht so machen, weil meine Buttons nicht im XAML existieren, nur im Code dahinter.
Wie also würde ein Befehl, der so funktioniert, im Code funktionieren?
Die angenommene Antwort funktioniert gut, wenn die Schaltfläche Zugriff auf den Befehl hat. In MVVM werden diese normalerweise getrennt gehalten (der Button in der Ansicht und der Befehl im View-Modell). In XAML verwenden Sie normalerweise eine Datenbindung, um es zu verbinden (wie das Beispiel in der Frage).
Mein Programm gab mir einen Fehler, wenn mein dynamischer Button den Befehl nicht finden konnte (weil er in einem völlig anderen Namensraum war). So habe ich das gelöst:
%Vor%Ich habe den Code aus dem Link von Anvaka als Vorlage genommen. Ich verwende RadMenuItem von Telerik, aber Sie können sicherlich jede andere Komponente verwenden, die die Command-Eigenschaft zur Verfügung stellt.
%Vor%Hoffe, es hilft ... und wenn etwas nicht klar ist, tut mir leid, es ist mein erster Beitrag:)
Tags und Links wpf c# command pixelsense