Klasse an DataGrid binden

  • WPF

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Klasse an DataGrid binden

    Hallo,
    ich habe eine Klasse, die Eigenschaften wie Name, Datum, etc. beinhaltet.
    Nun erstelle ich einige Objekte dieser Klasse und will diese in einem DataGrid dastellen (mit Hilfe von Binding automatisch)

    Klasse im Hauptfenster, wo das DataGrid ist:

    C#-Quellcode

    1. public partial class win_overview : Window
    2. {
    3. Folder Folder;
    4. public win_overview(Folder folder)
    5. {
    6. InitializeComponent();
    7. Folder = folder;
    8. Title = "Ordnerübersicht - " + Folder.Subject + " (" + Folder.Year + ")";
    9. Document d1 = new Document();
    10. Document d2 = new Document();
    11. d1.Date = new DateTime(2018, 12, 22);
    12. d2.Date = new DateTime(2018, 12, 23);
    13. d1.Title = "Hallo";
    14. d2.Title = "Kjiuiztu";
    15. Folder.Add(d1);
    16. Folder.Add(d2);
    17. }
    18. }

    Klasse Folder:

    C#-Quellcode

    1. public class Folder
    2. {
    3. public string Path { get; }
    4. public string Year { get; set; }
    5. public string Subject { get; set; }
    6. private List<Document> documents;
    7. public Folder(string subject, string year, string path)
    8. {
    9. Path = path;
    10. Year = year;
    11. Subject = subject;
    12. documents = new List<Document>();
    13. }
    14. public void Add(Document d)
    15. {
    16. documents.Add(d);
    17. }

    Klasse Document:

    C#-Quellcode

    1. public class Document
    2. {
    3. public string FileName { get; private set; }
    4. public string Path { get; private set; }
    5. public string Title { get; set; }
    6. public string Extention { get; private set; }
    7. public string PageTyp { get; set; }
    8. public string Theme { get; set; }
    9. public double Size { get; private set; }
    10. public DateTime Date { get; set; }
    11. }

    Vielen Dank für eure Hilfe
    LG
    Florian
    ----

    WebApps mit C#: Blazor
    Hallo

    flori2212 schrieb:

    Nun erstelle ich einige Objekte dieser Klasse und will diese in einem DataGrid

    Du erstellst einige Dokumente innerhalb von "Folder". OK. Und du willst die Dokumente in einem DataGrid darstellen.

    Erstmal definiere in der CodeBehind dein "Folder" als Property und nicht als Variable.

    Nach dem "füllen" von Folder und deren Dokumenten musst du dem View sagen an was oder an welche Klasse es gebunden sein soll mit Me.DataContext = Me
    Und nun musst du das ItemssSource Property des DataGrid nur noch an Folder.Documents (Documents muss aber auch ein Property werden) binden. ItemsSource = "{Binding Folder.Documents}"

    Siehe dazu auch meine Signatur!!!

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Geht beides.
    Du kannst sie automatisch generieren lassen oder du gibst selbst die Columns an.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##