WPF MvvM DataGrid Dynamische Spalten
Ich bin auf der Suche über, wie man erstellen Sie die Spalten des DataGrid aus dem ToolKit dynamic in MvvM Weg. Aber wie es aussieht, ist unmöglich !
Ist es etwas hatte zu tun das samething ?
es gibt keine Notwendigkeit, erstellen Sie ein Benutzersteuerelement oder ein anderes Steuerelement, das kommt von der DataGrid -, ich will nur den Satz de ItemSource für das raster auf dem benutzerdefinierten Objekt und in einem Punkt möchte ich definieren Sie die Spalten des Gitters in der runtime dynamisch und ändern sich je nach der Art des Objekts.
Ist das möglich ?
cheers
InformationsquelleAutor der Frage 2Fast4YouBR | 2010-06-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich werde Vorwort dies mit den Worten, es vielleicht nicht die beste Lösung, das zu tun und funktioniert möglicherweise nicht in einigen Situationen, aber Sie können es versuchen und sehen, ob es funktioniert für das, was Sie wollen. Ich habe gerade geschlagene so es kann einige Fehler haben. Seine immer noch mit einem gewissen code, aber es hält das Modell von wissen, über Sie anzeigen.
Was Sie tun müssen ist, erstellen Sie ein extension-Eigenschaft können Sie binden Sie die Columns-Eigenschaft auf dem DataGrid. Hier ist ein Beispiel, das ich zusammen gestellt habe.
Dann befestigst du es dir DataGrid wie folgt aus (Wobei Spalten ist die ObservableCollection-Eigenschaft auf Ihrem view-Modell)
Ich bin mir nicht sicher wie gut es geht, zu reagieren, wenn Sie beginnen, hinzufügen und entfernen von Spalten, aber es scheint zu funktionieren von meine grundlegende Tests. Viel Glück!
InformationsquelleAutor der Antwort David Osborn
Haben ein ähnliches problem, ich wollte mich nicht fügen Sie eine weitere Abhängigkeitseigenschaft.
Mein workaround war, die Daten zu organisieren, um die Anzeige im DataGrid in eine DataTable und binden Sie das DataGrid-ItemSource-Eigenschaft auf diese DataTable (natürlich mit AutoGenerateColumns auf true gesetzt ist).
Funktioniert es gut, Datenblätter scheinen glücklich mit DataTable als source.
InformationsquelleAutor der Antwort user3189858
Möchte ich erweitern das Vorherige Beispiel (Antwort) die Möglichkeit zum abonnieren und abbestellen auf CollectionChanged-Ereignis. Link auf meine Antwort im verwandten Thema.
InformationsquelleAutor der Antwort StuS