Laden...

WPF-Form in WPF-Form laden (in Bereich)

Erstellt von Schuelerin vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.918 Views
S
Schuelerin Themenstarter:in
9 Beiträge seit 2008
vor 15 Jahren
WPF-Form in WPF-Form laden (in Bereich)

Hallo.

Ich beschäftige mich gerade mit unserem Maturaprojekt und brauche ein bisschen Hilfe beim Aufbau unseres Programmes.

Unser Programm ist ähnlich aufgebaut wie eine Website mit Frameset (zumindest hätten wir das gerne so), d.h. es gibt oben eine Tabcontrol-Menü, links einen Bereich mit Unterpunkten zu dem ausgewählten Menüpunkt und dann bleibt noch der Hauptbereich.
Wir möchten gerne in den Hauptbereich je nach gewähltem Menüpunkt unterschiedliche WPF-Forms hineinladen, doch leider haben wir keine Ahnung wie das funktioniert.

Wie kann ich das umsetzen? Ist es mit WPF überhaupt möglich?
Benötige ich ein bestimmtes Panel oder ein anderweitiges Steuerelement?
Bitte helft mir. (bin gerade echt hilflos).

Vielen Dank schon im voraus.

U
1.688 Beiträge seit 2007
vor 15 Jahren

Hallo,

die Stichworte sind System.Windows.Forms.Integration und ElementHost.

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo Schuelerin,

herzlich willkommen hier im Forum!

System.Windows.Forms.Integration und ElementHost.

Das betrifft aber nur die Integration von WindowsForms-Controls nach WPF; so wie ich Schuelerin verstanden habe, möchte sie ein WPF-Window in einem anderen anzeigen.

Generell sieht mir dieses Vorgehen nach einem Designfehler aus - die WPF bietet mit _Page_s ein Modell, das eigentlich genau deine Anforderungen erfüllt; mehr Infos hierzu gibt es in der :rtfm: , zum Beispiel unter Übersicht über die Navigation

Alternativ könntest du auch UserControls verwenden; das hängt von den genauen Anforderungen ab.

582 Beiträge seit 2008
vor 15 Jahren

Hallo Schuelerin,

klar ist das möglich. Meine zwei Stammprojete (Bewerbungsmanager in der Beta unter www.taladan.de) zu finden, funktionieren genau so.
Debei ist relativ egal, woher du die Elemente nimmst.

Beide Projekte laufen ähnlich ab.

Navigation:
(einfach) Projekt Bewerbungsmanager: ListView wird über ein Databinding an ein WPF Datei gebunden, woher die URL´s und Titel usw kommen.
(komplex) Projekt Meistertools: Wie Bewerbungsmanger, jedoch verwende ich hier ein TreeView, welches Hiarische Elemente darstellen kann.

Content:
Projekt Bewerbungsmanager: Hier wird ein normales Frame welches in welche dann einzelne Pages geladen werden. (über ein DataBinding an die URL des ListViews gebunden.
Projekt Meistertools: Für jedes Element wird ein neues TabItem erzeugt. Dieses Tabitem beinhaltet dann ein Frame, welches wie im Bewerbungsmanger die URL der Navigation (hier ein TreeView) verwendet.

Aber Achtung. Bei dieser Variante werden Events wie PageLeave oder ähnliches nicht immer ausgelößt. So sollte man sich schon gedanken über die Datenspeicherung machen.

PS: Die ganze Navigation im einfachen Beispiel ist ohne eine Zeile Code machbar, alles per WPF möglich. Beim Komplexbeispiel ist dies nur für die erzeugung der Tabitems und zuordnung der Frames notwendig.

Gruß dat Tala

U
1.688 Beiträge seit 2007
vor 15 Jahren

Das betrifft aber nur die Integration von WindowsForms-Controls nach WPF

Ähm - ja, so hatte ich es (miss)verstanden. Wahrscheinlich wg. WPF-Form.