WPF: více oken

35. hodina PVA


Matěj Cajthaml — SSPŠ

©

Opakování

K čemu používáme struktury?
Co se stane když přistoupíme ke špatnému indexu v poli?
Jak se liší File.ReadAllText a File.ReadAllLines?
K čemu slouží třída Array?
Jaký rozdíl je mezi kompilovaným a interpretovaným jazykem?

Jak lze ve WPF zavolat kód právě tehdy, když byl otevřen formulář?

Dynamické přidávání objektů

  • každý prvek formuláře můžeme vytvářet v kódu
  • prvky můžeme úplně stejně modifikovat (velikosti, barvy, ...)
  • poté můžeme prvek vložit do formuláře

Přidání do formuláře

Přidávání událostí

Vypnutí a zapnutí

Práce

Vytvořte dvě tlačítka ve formuláři. Jedno tlačítko, pokud prvek neexistuje, přidá label do formuláře. Druhé tlačítko, pokud label existuje, jej smaže.

Více formulářu

  • u většinu programů potřebujeme více oken
  • v terminologii WPF je formulář právě okno
  • tyto formuláře nesdílejí design, data ani kód
  • potřebujeme je jednotlivě otevírat a zavírat
  • když zavřeme všechny okna, program se vypne

Otevírání

  • před otevřením musíme vytvořit daný formulář (podobné jako struktura)
  • poté daný formulář otevřeme zavoláním .Show()

Uzavření

  • pro uzavření formuláře na něj zavoláme .Close()
  • formulář se poté zavře

Otevírání & zavírání

Práce

Vytvořte formulář, který po stisknutí tlačítka otevře další formulář a ten předchozí se zavře.

Zjistěte, co dělá .ShowDialog() na formuláři.

Předávání dat

  • při vytvoření instance formuláře můžeme mezi instancemi předávat data
  • např. přihlašovací údaje, nastavení, ...

Předávka

Práce

Minulou práci upravte tak, že si mezi sebou ještě předají data z textobxu do labelu.

Administrace

Domácí práce

https://ssps.cajthaml.eu/2-pva/work/36-administrace

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/