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