Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Antwort zur Frage: WPF-1 - Wie öffne ich ein Unterfenster? #3

Open
LMStudent opened this issue Feb 12, 2020 · 0 comments
Open

Antwort zur Frage: WPF-1 - Wie öffne ich ein Unterfenster? #3

LMStudent opened this issue Feb 12, 2020 · 0 comments
Labels
answer Antwort auf eine Frage

Comments

@LMStudent
Copy link
Contributor

LMStudent commented Feb 12, 2020

@suchja Hier meine Antwort zur Frage: WPF-1: Wie öffne ich ein Unterfenster?

In WPF sind auch alle Oberflächenelemente (wie z.B. Window) ganz "normale" Objekte. Daher können auch Instanzen eines Window im Quellcode angelegt werden. Um nun also aus einem Fenster (nennen wir es MainWindow) ein anderes Fenster (nennen wir es SubWindow) zu öffnen, braucht es folgende Schritte:

  1. Ein neues Window mit Namen SubWindow erstellen (z.B. im Projektmappenexplorer Hinzufügen im Kontextmenü und dann Fenster wählen) und mit dem gewünschten Inhalt füllen. (Siehe Beispielcode hier)
  2. Dem MainWindow einen Button inkl. Click-Event und Eventhandler hinzufügen. (Siehe Beispielcode hier)
  3. Im Eventhandler im MainWindow-Quellcode eine Instanz vom SubWindow erstellen und darauf Show oder ShowDialog aufrufen. (siehe Beispielcode hier)

Bonus-Info:
Der Unterschied zwischen Show und ShowDialog liegt darin, dass das MainWindow bei der Verwendung von ShowDialog nicht mehr angesprochen werden kann, bis das SubWindow wieder geschlossen wurde. Dieses Verhalten bei Fenstern wird auch als modal bezeichnet.
Wird das SubWindow über Show geöffnet können beide Fenster unabhängig von einander bedient werden.
Wichtig ist dabei, dass WPF nicht grundsätzlich eine Beziehung zwischen den Fenstern herstellt. D.h. öffnest du ein Unterfenster via Show und schließt das "Hauptfenster", dann läuft die Anwendung weiter und nur das Unterfenster wird angezeigt. Um dieses zu beheben kann du nach dem Anlegen des Unterfensters eine "Eltern-Kind-Beziehung" zwischen den beiden Fenstern definieren (über die Owner Eigenschaft - siehe Beispiel). Dann wird beim Schließen des Hauptfensters auch das Unterfenster geschlossen.

@LMStudent LMStudent added the answer Antwort auf eine Frage label Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
LMStudent added a commit to LMStudent/community-fragen that referenced this issue Feb 12, 2020
@LMStudent LMStudent changed the title Antwort zur Frage: WPF-1 Antwort zur Frage: WPF-1 - Wie öffne ich ein Unterfenster? Feb 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
answer Antwort auf eine Frage
Projects
None yet
Development

No branches or pull requests

1 participant