Laden...

verschiedene Programmteile im gleichen fenster darstellen

Erstellt von Coooder vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.222 Views
C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren
verschiedene Programmteile im gleichen fenster darstellen

so, ich glaube ich muss erstmal erläutern was ich mit der überschrift meine ^^

ihr kennt das ja, wenn man in einem Programm auf einen Button oder so klickt, dann öffnet sich eine neue Form oder ein Dialog wo man das entsprechende machen kann
nun würde ich das gerne so handhaben das alles im gleichen fenster passiert, quasie wie bei einer WebSite der Inhaltsbereich soll sich eben nur ändern
ich bin mir nur nich sicher wie man das realisieren würde...
Spontan würde mir einfallen die neuen forms (wird das in wpf eigentlich auch form genannt?) direkt über den Inhaltsbereich einzublenden so das es so aussieht als wäre es ein fenster

würde man so vorgehen? oder gibs da bessere alternativen?

5.742 Beiträge seit 2007
vor 12 Jahren

Hallo Coooder,

das ganze nennt sich MDI und wird unter WPF nicht mehr unterstützt.

Alternative wäre ein Tabbed Interface (keine Ahnung, ob man das mit TDI abkürzen kann^^) wie es beispielsweise VS verwendet.

AvalonDock stellt eine Implementierung davon in WPF dar.

C
80 Beiträge seit 2010
vor 12 Jahren

Hallo Coooder,

Am Besten verwendest du in WPF ein Hauptfenster und nimmst als INhalt einen ContentPresenter. Die einzlenen Inhalte setzt du als UserControls um und weißt der Property Content des ContentPresenters die entsprechende Instanz des UserControls zu.

Ein ähnlicher Ansatz verfolgt das Framework Prism

In den UserControls kannst du dann auch schön wie bei einem Fenster oder Formular die entsprechende Kontextlogik kapseln.

C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 12 Jahren

ahhh ok das mit den usercontrols sieht viel versprechend aus, danke!
das werd ich dann mal bei gelegenheit testen 😃

B
110 Beiträge seit 2008
vor 12 Jahren

Das müsste doch eigentlich mit Page- oder PageFunction-Elementen gehen, denke ich. Entweder gleich ein NavigationWindow als Hauptfenster oder in einem Window ein Frame einbauen und dort drin immer die richtige Page zeigen.

Ich bin dabei, mir das ein bisschen anzulesen, habe es noch nicht wirklich ausprobiert. Aber so viel ich bisher weiß, sind diese Komponenten gerade für so was da.

Stichworte für MSDN: Navigation Overview, NavigationWindow, Structured Navigation (dazu gibt's auch noch mal eine Überblicksseite), Page, PageFunction, Frame.