1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

TabControl / TabItem / MVVM

Dieses Thema im Forum ".NET WPF & Silverlight" wurde erstellt von Jacizzle, 5. Oktober 2014.

  1. Jacizzle

    Jacizzle Mitglied

    Guten Tag,

    ich bin jetzt seit ein paar Tagen dabei mich näher in der WPF-Programmierung einzuarbeiten und bin dazu grad ein kleines Projekt am erstellen. Jetzt bin ich aber auf eine Sache gestoßen, wo ich erstmal nicht weiter weiß und hoffe ihr könnt mir dabei weiter helfen:

    Aufbau des Formulars
    - Oben ein Logo
    - Links ein Menü
    --> Liste
    --> Neuer Eintrag
    --> Service

    - Mitte ein Tab-Control
    --> Soll den Inhalt anzeigen

    Was soll es können?
    Ich möchte jetzt auf das Menü "Liste" klicken. Dann soll ein neuer Tab mit der aktuellen Liste geöffnet werden. Klicke ich auf "Neuer Eintrag" soll sich ein Tab öffnen wo die Formular-Eingabe-Felder für den neuen Eintrag zu finden sind. Klicke ich auf Service, soll der Tab für den Service geöffnet werden. Außerdem will ich die Tabs auch wieder schließen können.

    Kurz gesagt: Das Projekt soll so ähnlich funktionieren wie das MSSQL-Management-Studio.

    Könnt ihr mir dazu ein paar Tipps geben wie ich das hin bekomme? Vorallem so, dass ich mich noch im MVVM befinde.. mir ist für spätere Projekte sehr wichtig, dass ich den Code komplettt von dem Design trennen kann.

    Meine Idee (Ich weiß nur noch nicht wie ich die umsetzen soll)
    Ich erstelle für jeden Menüpukt ein eigenes Formular (SubForms sozusagen), d.h. für "Liste, Neuer Eintrag und Service". Diese Unterformulare dienen als Template für die Tabs. Klickt jetzt jemand auf "Liste" muss ich im Hintergrund ein neues Tab erstellen, dem Tab eine Instanz des Unterformulars hinzufügen und das dann in meinem MainWindow anzeigen.

    Ist der Gedankenansatz (auch wenns ziemlich grob war) schon die richtige Richtung oder macht man sowas bei WPF anders?
     
Die Seite wird geladen...