Tworzenie aplikacji WPF MVVM

Tworzenie aplikacji WPF MVVM
.NET

Opis szkolenia

WPF to wiodąca technologia do tworzenia desktopowych aplikacji .NET która, dzięki zasadzie kompozycji, daje programiście nieograniczone możliwości.

Poznaj w takim razie jej zasadę działania WPF od podszewki oraz jak prawidłowo rozdzielać kod zgodnie z wzorcem MVVM.

Zobacz jak pozbyć się uciążliwego code-behind w oparciu o sprawdzone rozwiązania i zacznij wreszcie tworzyć świetne aplikacje!

Skorzystaj z moich 20 lat doświadczenia w 5 dni szkolenia, aby zaoszczędzić swój czas i pieniądze.

Po tym szkoleniu dodawanie nowych funkcji dla klienta będzie czystą przyjemnością ;-)

Metodyka

Bez skryptu i powerpointa. Kod na żywo.

Utworzymy krok po kroku kompletną aplikację z wyszukiwaniem, nawigacją między oknami, walidacją danych i dostępem do bazy danych z użyciem Entity Framework. Wszystko co potrzebne w typowej aplikacji.

W trakcie kursu zbudujemy własny framework, który później możesz zastosować we własnym projekcie lub skorzystać z popularnego frameworka MVVM Light, Prism lub Caliburn.Micro. Grunt, że będziesz wiedział jak on działa.

Zadbamy o prawidłowy podział projektu i czysty kod z zastosowaniem wzorców projektowych.

Projekt udostępnimy na GitHub, abyś mógł do niego wrócić po szkoleniu.

Czas trwania
5
dni
Poziom szkolenia
podstawowy
  1. Wprowadzenie
    • WPF
    • XAML
    • MarkupExtensions
  2. Widoki
    • Klasy Window, Page, UserControl
    • Zastosowanie Frame
  3. Panele
    • Grid, UniformGrid
    • StackPanel, DockPanel, WrapPanel
    • Canvas
  4. Kontrolki
    • Label
    • Button
    • TextBox
    • Slider
    • Image
  5. Kontrolki wieloelementowe
    • ListBox, ListView
    • DataGrid
    • TabControl
    • StatusBar, Menu
  6. Style
    • Utworzenie stylu
    • Dziedziczenie styli
  7. Szablony
    • Szablon danych (DataTemplate)
    • Szablon kontrolki (ControlTemplate)
  8. Zasoby
    • ResourceDictionary
    • Zasoby statyczne i dynamiczne
    • Ładowanie zasobów
  9. Wiązanie (Binding)
    • Wiązanie kontrolek (Element Binding)
    • Wiązanie danych (Data Binding)
    • Tryb wiązania
  10. Konwertery
    • Konwerter wartości
    • Konwerter wielowartościowy
  11. Wyzwalacze
    • Wyzwalacze właściwości
    • Wyzwalacze danych
    • Wyzwalacze zdarzeń
  12. Wzorzec MVVM
    • Zasada działania wzorca MVVM
    • Podział rozwiązania na warstwy
  13. Notyfikacje
    • Implementacja INotifyPropertyChanged
    • Zastosowanie biblioteki Fody.PropertyChanged
  14. Komendy
    • Implementacja RelayCommand
  15. Zachowania (Behavior)
    • Implementacja własnego zachowania
    • Wywoływanie metod na podstawie zdarzenia
    • Wywoływanie komend na podstawie zdarzenia
  16. Wstrzykiwanie zależności
    • Omówienie wstrzykiwania zależności
    • Utworzenie ViewModelLocator
    • Przegląd frameworków IoC (Unity, AutoFac, CommonServiceLocation)
  17. Nawigacja
    • Utworzenie implementacji NagivationService
    • Nawigacja pomiędzy widokami
    • Przekazywanie parametrów
  18. Walidacja
    • Walidacja z użyciem wyjątków
    • Walidacja z użyciem IDataErrorInfo
    • Walidacja za pomocą biblioteki FluentValidation
  19. Operacje asynchroniczne
    • Tworzenie zadań Task
    • Zastosowanie async-await
    • Anulowanie zadań
    • Wyświetlanie postępu
  20. Przegląd frameworków MVVM
    • MVVM Light
    • Caliburn.Micro
    • Prism

Szkolenie przeprowadzone w sposób profesjonalny. Prowadzący oprócz wiedzy teoretycznej posiadał ogromną wiedzę praktyczną, popartą imponującym dorobkiem zawodowym. Jedno z nielicznych szkoleń, na których trener nie skupia się na przekazaniu wiedzy za pomocą prezentacji i skryptów, tylko omawia zagadnienia na praktycznych przykładach. Z przyjemnością polecam szkolenia realizowane przez Pana Marcina
Piotr Stec

NGK Ceramics

Szkolenie było na wysokim poziomie. Doceniam ilość pracy jaką Pan włożył w wytłumaczenie nam kwestii. Szczególnie MVVM i jego złożoności. Już się przydaje. I bardzo zaczyna mi się podobać MVVM szczególnie, że wymaga/pilnuje pewnej poprawności obiektowej.
Marek Michalak

OLSA Poland

Polecam. Szkolenie idealne zarówno dla początkujących jak i zaawansowanych programistów. Trener wykazywał doskonałe zrozumienie zawartości programu, stosował odpowiednie tempo nauki i jasno objaśniał ćwiczenia. Jedno z lepszych jak nie najlepsze szkolenie w którym uczestniczyłem.
Mateusz Ryszkaniec