Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
verschiedene Programmteile im gleichen fenster darstellen
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

verschiedene Programmteile im gleichen fenster darstellen

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
CSharperUser
myCSharp.de - Member



Dabei seit:
Beiträge: 81

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von CSharperUser am .
private Nachricht | Beiträge des Benutzers
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

beantworten | zitieren | melden

ahhh ok das mit den usercontrols sieht viel versprechend aus, danke!
das werd ich dann mal bei gelegenheit testen :)
private Nachricht | Beiträge des Benutzers
bb1898
myCSharp.de - Member



Dabei seit:
Beiträge: 110

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers