Laden...

WPF - Mehrere "Pages" in einer Anwendung?

Erstellt von Disko vor 8 Jahren Letzter Beitrag vor 8 Jahren 3.521 Views
D
Disko Themenstarter:in
18 Beiträge seit 2016
vor 8 Jahren
WPF - Mehrere "Pages" in einer Anwendung?

Hallo zusammen,

ich habe eine kurze Verständnisfrage zum Aufbau eines WPF Programms.

Wahrscheinlich möchte in meiner Anwendung ein Ribbon ähnliches Menü nutzen. Auf jedenfall aber ein Menü welches oben angedockt angezeigt werden soll.
Durch klicken der Menüpunkte soll daraufhin im unteren Bereich der Anwendung dann immer die verschiedenen "Seiten" angezeigt werden. Das Menü soll natürlich auf jeder Seite weiterhin angezeigt werden.

Nutzt man hier Pages oder wie wird sowas bewerkstelligt bzw. umgesetzt?

2.080 Beiträge seit 2012
vor 8 Jahren

Das sieht ungefähr so aus, als würde es genau das tun, was Du willst:
https://msdn.microsoft.com/de-de/library/ff799534%28v=vs.110%29.aspx

Ich habe die Library bisher nur einmal in einem Beispiel für Prism gesehen, wie das Ohne geht, musst Du also selber heraus finden 😛

Oder das hier, das sieht auch ganz schick aus:
http://www.codeproject.com/Articles/23199/WPF-C-Ribbon-Control-Library

Prinzipiell kann man sagen: Du kannst so viele Controls, Windows, Pages, etc. erstellen wie Du willst, die sind sowieso nur dann sichtbar, wenn Du sie anzeigst.
Das ist sogar besser, denn so kannst Du die Bestandteile der Oberfläche in Teile aufteilen und wieder verwenden oder einfach nur so besser strukturieren.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

D
Disko Themenstarter:in
18 Beiträge seit 2016
vor 8 Jahren

Hey danke für deine Antwort.

Also das mit dem Menüband habe ich bereits fertig. Mir geht es in erster Linie darum wie ich nun den Bereich darunter ansprechen kann. Hatte erst gedacht man müsste sich sein Windows per Frame aufteilen. In dem dann oben das Menü ist und unten werden dann die Inhalte angezeigt.

Da ich keine Forms innerhalb des MainForms anzeigen möchte bleiben ja, wenn ich das richtig verstanden habe, nur die möglichkeit neue Seiten dem Projekt hinzuzufügen, welche ich dann übereinanderlege und dann eben je nach Menüpunkt speziell anspreche bzw. einblende oder ausblende.

Ich weiß nur nicht ob das wirklich so gehandhabt wird oder ob es da eine andere bessere Möglichkeit gibt. Außerdem ist mir nicht ganz klar, wie das mit dem Menü ist. Muss das in jede neue Seite die ich dem Projekt hinzufüge auch wieder einbinden oder wie setzt man das um?

Ich hoffe ihr versteht was ich meine. 😉

5.658 Beiträge seit 2006
vor 8 Jahren

Hi Disko,

für mich klingen deine Anforderungen eher nach einem TabControl. Damit müßtest du dich nicht um die Darstellungslogik kümmern.

Ansonsten könntest du den aktuell sichtbaren Bereich im ViewModel speichern, und dann die entsprechene ViewModel-Eigenschaft an die Visibility-Eigenschaft der Page binden.

Christian

Weeks of programming can save you hours of planning

D
Disko Themenstarter:in
18 Beiträge seit 2016
vor 8 Jahren

Danke für deine Antwort.

Ich bin gerade auf die UserControls gestoßen und gucke ob es damit vielleicht auch klappt. TabControls habe ich bereits eingebaut. Es sollen verschiedene TabControls durch das Menü aufgerufen werden können. (Personenverwaltung mit mehreren Tabs, Klamottenverwaltung mit mehreren Tabs, Geräteverwaltung,... etc. jeweils immer dargestellt im unteren Teil der Hauptseite.

Die Sache mit dem speichern des sichtbaren Bereichs im ViewModell schau ich mir mal an.

W
872 Beiträge seit 2005
vor 8 Jahren

Ich würde Dir empfehlen, dragablz anzuschauen.
Zusammen mit mahapps kann man wirklich schöne und moderne WPF-Apps bauen.