Jacek Matulewski
Programowanie aplikacji dla systemu Windows w C#
Uwaga!
Materiały do zajęć "Programowanie Windows" w formie online dostępne są pod adresem:
http://fizyka.umk.pl/~jacek/dydaktyka/winprog_v2/online/.
Plan wykładu:
- Interfejs programowania aplikacji Windows (WinAPI)
- Czym jest WinAPI?
Komunikaty Windows
- GUI
Procesy i wątki
- Platforma .NET
- Platformy .NET, UWP, .NET Core.
Język XAML
(elementy XAML i korespondencja z klasami kontrolek WPF, zagnieżdżanie kontrolek, dynamiczne tworzenie kontrokek w kodzie C#, pędzle, atrybuty i znaczniki zagnieżdżone, zasoby, style, wyzwalacze, szablony, pojemniki, kontrolki ułożenia)
- Architektura MVVM. Wiązania
- Zaawansowane mechanizmy WPF: polecenia, zmiana zdarzeń na polecenia, zachowania, własności zależności, własności doczepiane
- Projektowanie kontrolek i elementów XAML
- Kolekcje danych a MVVM
Zagadnienia na laboratorium:
- Aplikacja WPF. Paradygmat zdarzeniowy. Aplikacja WPF "Rozwiązywanie równań kwadratowych". Podstawowe kontrolki XAML. Wyodrębianie modelu. Biblioteki DLL [2h]
- Zdarzenia trasowane [1h]
- Mechanizm drag & drop [2h]
- Transformacje i animacje [1h]
- Mechanizm P/Invoke (Windows Forms) [2h]
- Kolokwium [2h]
- Aplikacja zgodna ze wzorcem MVVM: Przekształcenie aplikacji "Rozwiązywania równań kwadratowych" do wzorca MVVM [2h]
- Aplikacja zgodna ze wzrocem MVVM: Przykłady Slider-ProgressBar, TextBox-TextBlock. + Ustawienia aplikacji [2h]
- Zachowania. Własności zależności i własności doczepiane. Zamiana zdarzeń na polecenia [2h]
- Odtworzenie projektu "Rozwiązywanie równań kwadratowych" w UWP (skopiowana większość kodu) [1h]
- Grafika w WPF: zegar analogowy - od kształtów po shadery [3h]
- Kolekcje w .NET i ich prezentacja w WPF. LINQ [4h]
- Powtórzenie: aplikacja MVVM kolory (WPF i UWP) [2h]
- Kolokwium [2h]
- Bonus: Programowanie wielowątkowe w aplikacjach konsolowych (Task, Parallel.For) [2h]
- Bonus: WinAPI. Aplikacja C++ z GUI napisana w czystym WinAPI
Kody źródłowe
Literatura (WinAPI):
- Jeffrey Richter, Christopher Nasarre Windows via C/C++ (wydanie 5), Microsoft Press, Warszawa 2009
- Johnson M. Hart Programowanie w systemie Windows (wydanie 4), Helion 2010
Literatura (.NET):
- Anna Kempa Wprowadzenie do WPF, Helion 2017
- Jacek Matulewski Visual Studio 2017. Tworzenie aplikacji Windows w języku C#, Helion 2018
- Adam Nathan WPF 4.5. Księga Eksperta, Helion 2015
Linki:
- EFNet #Winprog 2007 - strona dla początkujących, Tutorial, FAQ
- MSDN Windows Development
- PInvoke.net - dla programistów .NET