WPF: knihovny

37. hodina PVA


Matěj Cajthaml — SSPŠ

©

Opakování

Jak mezi formuláři ve WPF předáváme data?
Jak se liší konverze pomocí Parse a TryParse na datovém typu?
Jak vyčistíme (tj. smažeme hodnoty z) listu?
Jak ve WPF uděláme více formulářů? Jaké metody používáme? Jak fungují?
Musí mít každý přepínač default možnost?

Jak lze upravovat design formulařů ve WPF?

Knihovny

  • již známe z čistého C#
  • dovolí nám používat funkcionalitu od jiného vývojáře
  • WPF mají k dispozici různé designové systémy a formulářové prvky

Instalace balíčků

  • používáme NuGet (doporučené)
    • balíčkovací systém
    • balíčky lze zobrazit přímo ve VS
  • můžeme instalovat i pomocí stažených souborů

Ukázka NuGet

  • založme nový projekt WPF
  • v horní nabídce:
    • Nástroje
    • Správa balíčku NuGet
    • Spravovat balíčky pro řešení

EMOJIII, SKRZ EMOJIII

Práce

Dle níže uvedeného obrázku vypracujte WPF aplikaci, ve které se budou pomocí tlačítka vybírat emoji. Vybrané emoji se budou postupně zapisovat do TextBoxu.

Co je to Material Design?

Material Design

  • designový systém vytvořen společností Google
  • velmi oblíbený design (Android, všechny aplikace Googlu, ...)
  • https://material.io
  • definuje jak by se měli aplikace navrhovat, co dělat a nedělat
  • definuje všechny potřebné komponenty a jejich chování

MD v WPF

  • existuje komunitou vytvořená knihovna na MD ve WPF
  • Material Design In XAML Toolkit
  • GitHub

Material Design

Práce

Nainstalujte si MD in XAML v novém WPF projektu. Zkuste ve WPF replikovat design úkolu (32.) Kalendář.

Další knihovny

Jak lze upravovat design formulařů ve WPF?

Konec WPF!

  • WPF budeme používat v dalších úkolech a hodinách
  • můžete jej využívat na závěrečnou práci

Máte otázky k WPF?

Řešení logických úloh

Díky problémům s minulými logickými úlohami si připomeneme, jak se na těchto úlohách pracuje.

1. Přečteme si zadání

V zadání se nacházejí všechne důležité věci k vyřešení úlohy. Většinou se zde nacházejí všechny podrobnosti — problémy, na které při řešení úlohy narazíte.

Jste-li si jistí, že něco není přesně definované, zeptejte se veřejně na Discordu. Je důležité se podívat na ukázkové vstupy, výstupy a případně různé vizualizace, které Vám s napsaným textem mohou pomoci.

2. Zkusíme si vyřešit úlohu v hlavě nebo na papír

Řešení úlohy tím, že si sednete k počítači, zapnete si VS a začnete programovat, je velmi utopické. Když neumíte popsat Vaše řešení slovy, nedokážete ho naprogramovat.

Zkuste si úlohu nakreslit a uvědomit si, co je vstupem a výstupem. Jste-li zaseklý dlouhodobě (> hodiny) na nějaké části úlohy, děláte něco špatně — doporučuji se jít projít nebo dělat něco jiného a k úloze se vrátit.

4. Vytvoříme projekt a čteme

Dle zadání si vytvoříme projekt a v něm začneme programovat. Vždy začínáme zpracováním vstupu — chce-li úloha nějakou validaci vstupu, zde ji provedeme. Data si můžeme uložit do pomocných struktur, aby se nám s nimi lépe pracovalo.

Většinou čteme z parametrů nebo standartního vstupu programu. Pro vývojářské účely můžeme vstup zatím zpracovávat třeba ze stringu. Vstupy jsou vždy v úlohách k dispozici.

5. Naprogramujeme náš nápad

Úlohu umíme vyřešit na papíru, nyní Vaše nápady vložíte do Vašeho programu. V programu nikdy nevyžaduji znalosti, které jsme si nevysvětlili.

Po naprogramování si zkuste Váš program spustit na ukázkových vstupech. Nejde-li Vám něco, doporučuji se vrátit na krok 1 a znovu si přečíst zadání. Případně zkontrolujte mezní hodnoty.

Tipy

  • je normální dělat chyby, z chyb se učíte a je důležité na to myslet. Zaseknutí známená, že o úloze přemýšlíte a posouvá Vás dále.
  • kreslení je silný nástroj — vlastně celý bod č. 2, přemýšlení úlohy na papír a přemýšlení o ní jinak Vám spustí mozek v jiném režimu přemýšlení.
  • začni co nejdříve, protože tvůj mozek pracuje i když o tom úplně nevíš. Přečti si úlohu co nejdříve a snaž se jí pochopit například cestou ze školy domů.

Děkuji za pozornost!

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