C# .NET od Podstaw do Tworzenia Aplikacji w WPF i XAML
4.5 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
841 students enrolled
Wishlisted Wishlist

Please confirm that you want to add C# .NET od Podstaw do Tworzenia Aplikacji w WPF i XAML to your Wishlist.

Add to Wishlist

C# .NET od Podstaw do Tworzenia Aplikacji w WPF i XAML

Oszczędź swój czas i naucz się szybko składni języka C# .NET po czym zacznij tworzyć praktyczne aplikację w WPF.
4.5 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
841 students enrolled
Last updated 6/2017
Polish
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 21 hours on-demand video
  • 1 Article
  • 90 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • czym jest C# i .NET
  • cała składnia c#
  • programowanie obiektowe, pojęcia takie jak klasa, abstrakcja, interfejsy etc.
  • korzystać z gotowych kontrolek oraz jak je edytować
  • zmieniać szablony kontrolek oraz tworzyć własne kontrolki z własnymi szablonami
  • ustawić kontrolki, dopasować odpowiedni panel
  • łączyć dane na różne sposoby (binding) z kodem napisanym w C# i w XAML’u
  • konwertować dane, aby zgadzały się w powiązaniach (converter’y)
  • obsługiwać zdarzenia (routed events)
  • tworzyć zasoby aplikacji i z nich korzystać
  • tworzyć własne klasy z danymi, które mogą być obserwowane i wiązać je z XAML’em
  • tworzyć aplikacje wielookienkowe z dialogami
  • sprawić, aby nasze aplikacje wyglądały ładniej (style) oraz miały różne animacje (easing function)
  • wywoływać odpowiednie akcje bez pisania kodu w c# (Triggery różnego rodzaju)
  • jak korzystać z różnych kolekcji i przetwarzać w łatwy sposób duże ilości danych wyświetlając się w postaci sortowalnej tabeli
  • stworzyć własny media player z progress barem
  • tworzyć aplikację reagującą na skróty klawiaturowe, ze zdjęciami, zakładkami, menu, menu kontekstowym, statusbarem, podpowiedziami, rozwijanymi listami i wiele wiele innych.
View Curriculum
Requirements
  • Wszystko wyjaśnione jest w kursie. Nie musisz posiadać żadnych wiadomości na temat C#, aby zabrać się za ten kurs.
Description

W moim kursie C# nie musisz znać podstaw programowania. Nauczysz się wszystkiego od zera. Obal mit, że programowanie jest dla nielicznych. Pisz własne programy! :)

Po moim ponad 21 godzinnym kursie:

  • będziesz potrafił posługiwać się zaawansowanymi składnikami języka C#.
  • możesz zostać front-end developerem w C# tzn. będziesz potrafił tworzyć graficzny interfejs użytkownika.
  • oszczędzisz ogrom czasu, który musiałbyś poświęcić na czytanie książek. Ten kurs to miła i szybka nauka - i nie tylko bo przy okazji zyskujesz praktykę ucząc się pisać praktycznych programów.

Na początku przeprowadzę Cię przez podstawową składnię języka po czym przejdziemy do działów dotyczących tworzenia profesjonalnych aplikacji z pomocą WPF i XAML.

Po dziale dotyczącym tworzenia aplikacji nauczysz się:

  • korzystać z Visual Studio 2013 Express Edition,
  • korzystać z gotowych kontrolek oraz jak je edytować,
  • zmieniać szablony kontrolek oraz tworzyć własne kontrolki z własnymi szablonami,
  • wypozycjonować kontrolki, dopasować odpowiedni panel,
  • łączyć dane na różne sposoby (binding) z kodem napisanym w C# i w XAML’u,
  • konwertować dane, aby zgadzały się w powiązaniach (converter’y),
  • obsługiwać zdarzenia (routed events),
  • tworzyć zasoby aplikacji i z nich korzystać,
  • tworzyć własne klasy z danymi, które mogą być obserwowane i wiązać je z XAML’em,
  • tworzyć aplikacje wielookienkowe z dialogami,
  • sprawić, aby nasze aplikacje wyglądały ładniej (style) oraz miały różne animacje (easing function),
  • wywoływać odpowiednie akcje bez pisania kodu w c# (Triggery różnego rodzaju),
  • jak korzystać z różnych kolekcji i przetwarzać w łatwy sposób duże ilości danych wyświetlając się w postaci sortowalnej tabeli,
  • stworzyć własny media player z progress barem,
  • tworzyć aplikację reagującą na skróty klawiaturowe, ze zdjęciami, zakładkami, menu, menu kontekstowym, statusbarem, podpowiedziami, rozwijanymi listami i wiele wiele innych.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ponad 30,000 studentów na Udemy uczy się z moich kursów. Dołącz do grupy zadowolonych Użytkowników. Jeśli mój kurs Ci się nie spodoba to pamiętaj, że masz aż 30 dni na to by uzyskać pełną refundację. Gwarantuję Ci 100% satysfakcji.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Jeśli masz jakiekolwiek pytania  związane z poruszonymi tematami w C# to pisz śmiało, zawsze chętnie pomogę :)

Proszę zanim zakupisz kurs oglądnij darmowe lekcje! Nie kupuj kota w worku! Sprawdź jakość kursów przed zakupem!

Dołącz dziś i naucz się szybko C# ze mną!





Who is the target audience?
  • Ten kurs C# jest przeznaczony dla każdego. Nie musisz wiedzieć nic na temat C#, aby się za niego zabrać. Co nie oznacza, że osoba, która pisze od dawna nie znajdzie w tym kursie nic dla siebie. Druga część kursu dotyczy WPF i XAML i przestawione są w niej zaawansowane aspekty tworzenia aplikacji.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
94 Lectures
20:58:45
+
Wstęp
2 Lectures 29:46

Czym jest platforma .NET, czym jest język programowania C# ? 

Preview 28:54

W jaki sposób zabrać się do tego kursu C#, aby wynieść z tego jak najwięcej?

Preview 00:52
+
Podstawy
2 Lectures 36:48
  • Poznajemy podstawy programowania. Dowiadujemy się, czym są instrukcje, komentarze, jak wypisać coś w konsoli etc.
Preview 10:40

  • Dowiadujemy się czym są zmienne oraz typy zmiennych. Poznajemy wiele typów zmiennych, dowiadujemy się czym są zmienne stałe oraz jak poprawnie nazywać zmienne.
Preview 26:08
+
Operatory
4 Lectures 53:04
  • Dowiadujemy się czym są operatory. Poznajemy operatory arytmetyczne: dodawanie, dzielenie, mnożenie, działanie modulo. Dowiadujemy się czym jest inkrementacja oraz dekrementacje. Poznajemy różnicę między POST/PRE inkrementacją oraz dekrementacją.
Preview 14:44

  • Poznajemy operatory relacyjne.
Operatory relacyjne (porównania)
05:25

  • Dowiadujemy się w jaki sposób działa koniunkcja, alternatywa oraz negacja. Poznajemy na przykładach operatory logiczne.
Operatory logiczne
11:13

  • Omawiamy operatory bitowe. Dowiadujemy się czym są bity, bajty oraz uczymy się przekształcić liczby z dowolnego systemu np. binarnego na system dziesiętny.
Operatory bitowe (lekcja zaawansowana)
21:42
+
Instrukcje warunkowe
3 Lectures 25:13
  • Dowiadujemy się czym są instrukcje warunkowe oraz jak one działają. Poznajemy instrukcje zagnieżdżone i ćwiczymy poznane pojęcia na przykładach.
Instrukcje warunkowe if, else if, else i instrukcje zagnieżdżone
14:25

  • Poznajemy instrukcję warunkową switch. Dowiadujemy się jak korzystać z "goto case" oraz czym jest oraz w jakich przypadkach można pominąć instrukcję break;
Instrukcja warunkowa switch
07:24

  • Poznajemy operator warunkowy i pokazujemy, kiedy się z niego korzysta.
Operator warunkowy
03:24
+
Pętle
4 Lectures 39:49
  • Dowiadujemy się czym są pętle oraz poznajemy pętle for, ćwiczymy różne przypadki.
Pętle, Pętla for
11:54

  • Poznajemy pętle while oraz do{} while.
Pętla while oraz do while
05:15

Dowiadujemy się czym są oraz jak działają pętle zagnieżdżone - ćwiczymy poznane zagadnienia

Pętle zagnieżdżone, ćwiczenia
07:52

  • Poznajemy oraz ćwiczymy instrukcje break i continue.
Instrukcja break i continue
14:48
+
Tablice
3 Lectures 41:26
  • Dowiadujemy się czym są tablice, po co one są, jak się je tworzy, jak przypisać / wypisać ich wartości.
Tablice jednowymiarowe
17:05

  • Omawiamy pętlę foreach oraz poznajemy zmienną typu var.
Pętla foreach, zmienna typu var
04:41

  • Dowiadujemy się czym są oraz jak tworzyć, inicjalizować, odczytywać tablice wielowymiarowe oraz tablice wyszczerbane.
Tablice wielowymiarowe oraz wyszczerbane
19:40
+
Programowanie obiektowe
23 Lectures 06:00:34
  • Dowiadujemy się czym jest obiekt, czym jest klasa, czym jest instancja klasy, po co są klasy, czym są cechy klasy, czy są funkcje / metody klasy, jak tworzyć funkcje i z nich korzystać, jak tworzyć instancję klasy, jak korzystać z obiektów.
Programowanie obiektowe - wstęp
23:44

  • Dowiadujemy się czym jest konstruktor, konstruktor domyślny, czym są właściwości, jak zachowują się, czym są i po co się stosuje statyczne metody, pola, właściwości. Poznajemy modyfikator readonly.
Konstruktory, statyczne metody, pola, właściwości
19:41

  • Dowiadujemy się, czym jest, kiedy i po co się stosuje, ćwiczymy na przykładzie: 
    - tworzenie wielu instrukcji return
    - przekazywaniu argumentów przez referencję (ref)
    - przekazywanie argumentów przez wyjście (out) 
    - overloading funkcji
    - wieloparametrowa funkcja (można wysłać tyle argumentów ile się chce)
    - domyślne parametry
    - auto-implementowane właściwości (ważne)
    - nazwane argumenty
    - dlaczego statyczne metody nie mogą operować na niestatycznych zmiennych klasy
Zabawy z metodami
26:11

  • Dowiadujemy się, czym jest, kiedy i po co się stosuje, ćwiczymy na przykładzie:
    - statyczny konstruktor
    - wywoływanie konstruktora w konstruktorze
    - konstruktor kopiujący
    - przekazywanie obiektów do metod
Zabawa z konstruktorami
18:34

  • Poznajemy na przykładzie czym są oraz jak stosować klasy zagnieżdżone?
Klasy zagnieżdżone
09:31

  • Omawiamy czym jest i po co się stosuje dziedziczenie na przykładzie. Omawiamy dokładnie modyfikatory dostępu, public, private, protected.
Dziedziczenie
19:17

  • Dowiadujemy się czym jest polimorfizm, rzutowanie, jak działają operatory is, as. Czym jest klasa Object oraz teoretyczne zastosowania poznanych elementów języka.
Polimorfizm, Klasa Object, operator is, as i rzutowanie
22:20

  • Dowiadujemy się co sprawia dodanie modyfikatora virtual i override do funkcji.
Virtual i Override
06:52

  • Poznajemy pojęcie abstrakcja. Dowiadujemy się czym są oraz jak stosować klasy i metody abstrakcyjne na przykładzie. Dowiadujemy się jak przekazywać tablicę do metod.
Klasy oraz metody abstrakcyjne
20:34

  • Dowiadujemy się czym są, jak stosować i gdzie stosować interfejsy na teoretycznym oraz praktycznym przykładzie. Poznajemy różnicę między interfejsami, a klasami abstrakcyjnymi.
Interfejsy
23:23

  • Dowiadujemy się czym są, jak i kiedy stosować klasy oraz metody zapieczętowane (sealed).
Klasy oraz metody zapieczętowane (sealed)
06:32

  • Dowiadujemy się czym jest i jak stosować typ enum.
Typ enum
08:12

  • Dowiadujemy się czym są i jak stosować przestrzenie nazw oraz aliasy.
Przestrzeń nazw
13:14

  • Dowiadujemy się czym są struktury, czym się różnią od klas oraz kiedy je stosować.
Struktury
12:47

  • Dowiadujemy się czym są oraz jak i kiedy korzystać z indekserów.
Indeksery
09:11

  • Czym są klasy / typy generyczne. Jak je tworzyć, dlaczego warto je tworzyć.
Klasy generyczne
23:11

  • Dowiadujemy się czym są metody generyczne, jak je tworzyć i kiedy je stosować na przykładzie podmiany dwóch dowolnych wartości.
Metody generyczne
06:47

  • Dowiadujemy się jak ograniczać typy uogólnione, jak stosować statyczne i domyślne wartości w typach uogólnionych oraz jak działa dziedziczenie dla typów generycznych.
Ograniczenia, statyczne i domyślne wartości, dziedziczenie typów generycznych
15:34

  • Pokazujemy na przykładzie czym jest przeciążanie operatorów oraz jak przeciążać operatory. Przeciążamy operator dodawania, równości, nierówności. Dowiadujemy się czym są metody Equals oraz GetHashCode(), gdzie się je stosuje i tworzymy ich własne implementacje. Dowiadujemy się czym jest i jak stosować konstruktor kopiujący.
Przeciążenie operatorów oraz konstruktor kopiujący
26:34

  • Dowiadujemy się na przykładzie jak tworzyć operatory rzutowania, które pozwalają nam np. przypisać zmienną typu float, do zmiennej typu referencyjnego, którą stworzymy sami. np StanKonta a = 5.47;
Własne operatory rzutowania
12:51

  • Dowiadujemy się jak sprawić, aby do zmiennych typu np. int można było przypisać wartość null. Pokazujemy kiedy takie coś jest przydatne. Poznajemy operator ??.
Wartość null dla typów wartościowych
09:34

  • Czym są i kiedy stosować metody rozszerzające.
Metody rozszerzające
06:22

  • Dowiadujemy się czym są wyjątki, jak tworzyć własne wyjątki oraz jak je obsługiwać.
Wyjątki i ich obsługa
19:38
+
Tworzenie aplikacji w WPF - PODSTAWY
4 Lectures 01:29:00
  • Dowiesz się w skrócie czym jest XAML i WPF oraz jaką wiedzę i umiejętności będziesz posiadał po tym kursie.
Co będę wiedział po tej sekcji?
14:13

- Czym jest IDE?
- ściągnięcie Visual C# Express Edition 2013 for Desktop oraz instalacja
- jak ustawić polską wersję językową

Ściągniecie i instalacja IDE
07:00

  •  analiza środowiska programistycznego Visual C# Express Edition 2013 for Desktop
  •  czym jest WPF, XAML
  •  czym się różni XAML od XML
  • z czego się składa WPF, a z czego XAML
  • przypominamy podstawy dot. XML oraz przypominamy czym jest przestrzeń nazw
  • dowiadujemy się czym są 'częściowe klasy' i dlaczego są generowane
  • czym są atrybuty w C# i do czego służą
  • dlaczego rozwiązanie z WPF / XAML jest takie 'piękne'
  • informujemy o innym IDE służącym tylko do tworzenia wyglądu aplikacji
  • analizujemy niektóre możliwości Visual C# Express Edition 2013 for Desktop
  • czym jest assembly
  • czym jest oraz czym się różni .exe od .ddl
  • jak wersja .NET wpływa na możliwości odpalenia naszych aplikacji na różnych wersjach Windowsa
  • jak analizować biblioteki dołączone do projektu z pomocą zakładki references
  • czym jest refaktoryzacja, BAML, różnica między x:Name a NAme
Preview 34:56

Poznajemy: - kontrolkę button (przycisk)
- pojęcia drzewo / gałezie / węzły / dzieci / rodzice / drzewo logiczne i wizualne
- program Snoop (do przeglądania drzewa wizualnego aplikacji i nie tylko)

Dowiadujemy się:
- jak dodać kontrolkę bezpośrednio z kodu bez użycia xaml
- czym są kontrolki i czym się charakteryzują
- jak stworzyć przycisk, z tekstem i dodać do niego obrazek (dodajemy obraz do projektu)
- jak dodać numerowanie lini w Visualu
- czym są zdarzenia, jak działają routed events (zdarzenia kierowane)
- jak wyświetlić komunikat z przyciskiem OK
- jak dziedziczone są właściwości w drzewie wizualnym
- jak wyłączyć jakąś kontrolkę z użytku (nie ma możliwości jej kliknięcia)
- jakie są priorytety dziedzieczenia

Preview 32:51
+
Tworzenie aplikacji w WPF - Układ komponentów aplikacji
9 Lectures 01:08:34

- czym są layouty 
- czym jest grid i jak działa
- jak tworzyć kolumny, wiersze, jak sprawić by się automatycznie dostosowały do zawartości, dzieliły się propocjonalnie (*) lub też miały z góry nałożoną wysokość / szerokość (auto)
- jak ustawiać elementy w odpowiednich kolumnach / wierszach
- czym jest attached property
- jak narysować prostokąt i wypełnić go kolorem
- jak stworzyć blok tekstu i nadać mu tło
- czym są marginesy i paddingi oraz czym się różnią
- jak wycentrować obiekty, wyrównań do lewej / prawej etc.
- czym jest stretch i jak działa
- czym jest span jak sprawić żeby jakiś obiekt znajdował się np. w dwóch kolumnach / wierszach jednocześnie

Layouty i Attached Property
25:46

- dowiadujemy się czym jest gridsplitter i jak z niego korzystać
- poznajemy właściwości MinHeight, MinWidth, MaxHeight, MaxWidth, które odpowiedzialne są za minimalną / maksymalną szerokość / wysokość wyświetlanych elementów.
- jak dzielić elementy w proporcji innej niż domyślnej
- jak stworzyć gridsplitter poziomo oraz pionowo

GridSplitter
10:10

  • Poznajemy własności panelu uniformgrid oraz mówimy kiedy warto z niego korzystać.
UniformGrid
03:48

  • Omawiamy w jaki sposób zachowują się kontrolki dodane do StackPanel i WrapPanel oraz kiedy warto stosować wymienione layouty.
StackPanel i WrapPanel
06:59

  • Omawiamy właściwości i sposób ustawienia elementów w DockPanel.
DockPanel
05:31

  • Omawiamy właściwości i sposób ustawień elementów w Canvas. Wyjaśniamy różnicę między pozycjonowaniem elementów relatywnym, a absolutnym.
Canvas
04:21

  • Jak stworzyć scroll, jak działa "zawijanie tekstu" (wrap).
ScrollViewer i zawijanie tekstu
02:10

  • Jak stworzyć tekst, który pojawia się / chowa po kliknięciu na odpowiedni przycisk.
Expander - rozwijanie i ukrywanie treści
02:33

  • Czym jest RadioButton, GroupBox, Label. Tworzymy pytania ankietowe z pomocą radiobuttonów, groupbox i label, pokazujemy jak wyspecjalizować zawartość jakiegoś atrybutu, gdy jest niestandardowa. Dla przykładu jak pogrubić header groupboxa.
RadioButton, GroupBox, Label
07:16
+
Tworzenie aplikacji w WPF - ZAAWANSOWANY
37 Lectures 07:39:13
  • Dowiadujemy się czym jest:
    - binding
    - markup extension

    Poznajemy kontrolkę Slider (suwak) i jej właściwości. Omawiamy podstawy bindingu (wiązania ze sobą danych). Omawiamy wszystkie (mode) kierunki powiązań, oneway, twoway etc. i ich różnice.
Binding, Markup Extension
12:39

  • Do czego służą oraz czym są eventy oraz delegaty. Co dokładnie oznacza słówko "event" oraz "delegate". Tworzymy symulację w której gdy dojdzie jakiegoś zdarzenia to informuje o tym obserwujące obiekty.
Preview 28:53

  • Omawiamy na praktycznym przykładzie, czym jest DataContext oraz jak korzystać z interfejsu INotifyPropertyChanged. Poznajemy kolejny layout: InkCanvas. Tworzymy aplikację, która przełącza się pomiędzy dwoma trybami rysowania / oraz zaznaczania i przenoszenia narysowanych elementów na płótnie.
DataContext oraz interfejs INotifyPropertyChanged
24:55

  • Czym jest StaticResources, DynamicResources oraz Source, czym się różnią oraz jak z nich korzystać. Jak stworzyć własną przestrzeń nazw w XAML'u i skorzystać z klasy stworzonej w 'code-behind' z pomocą tagó XAML'a. Jak stworzyć instancję własnej klasy w XAML'u.
Zasoby Aplikacji - StaticResources, DynamicResources, Source
11:32

  • Trenujemy to co poznaliśmy w ostatnich lekcjach tworząc mini ankietę. Dowiadujemy się czym jest groupbox i radiobutton. Poznajemy ciekawy skrót do formatowania kodu oraz trenujemy binding.
GroupBox i RadioButton
09:05

  • Jak tworzyć animowane popupy (pojawiające się treści dobrane przez nas) i pozycjonować je w oknie.
Popup
06:11

  • Czym jest togglebutton i jak z niego korzystać. Tworzymy program, który po kliknięciu na przycisk pojawia / ukyrwa treść (w naszym wypadku ankietę).
ToggleButton
04:22

  • Czym sa style? jak tworzyć style? jak sobie radzić gdy jakaś kontrolka nie pasuje nam całkowicie, a nie można zmienić jej wyglądu poprzez istniejące właściwości bo nie zostały przewidziane. Tworzymy własny styl jednej z kontrolek (zmieniamy totalnie jej szablon).
Style
12:49

  • Czym są triggery i jak z nich korzystać. W jaki sposób w xamlu zareagować na zmianę jakiejś właściwości. Tworzymy szablon stylu, który po nadaniu tworzy nam od razu togglebutton, który zmienia swoją zawartośc pomiędzy wartościami "on/off". Ulepszamy naszą ankietę, aby zmieniała stany wyświetlanego tekstu z "pokaż ankietę" na "ukryj ankietę".
Triggery - wyzwalacze akcji
08:39

  • Czym są konwertery i jak z nich korzystać. Poznajemy nowe property (Visibility) ukrywające / ukazujące wybrane przez nas treści. Tworzymy konwerter zmieniający w bindingu wartości z bool (true/false) na Visibility(Visible, Collapsed).
Converter
11:45

  • Jak stworzyć samowyzwalacz, który zostanie wywołany gdy zostanie spełnionych KILKA warunków jednocześnie.
Multi Warunkowy Trigger
03:27

  • Jak tworzyć event triggery oraz animacje. Poznajemy kolejny tag Border (obramowanie) i go animujemy. Tworzymy kilka animacji np. powiększającego się tekstu / obramowania / powiększającego się prostokąta. Dowiadujemy się jak zatrzymać, kontynuować, przenieść się do odpowiedniego momentu, pominąć, przyspieszyć oraz zakończyć animację. Jak sprawić, aby wartości po animacji powróciły do domyślnej wartości oraz jak sprawić, aby wykonywały się w nieskończoność / określoną ilość razów.
Event Trigger i Animacje
18:32

  • Czym są easing function i jak z nich korzystać? Dowiadujemy się jak zmienić domyślny sposób 'uwalniania' animacji na ciekawszy.
Easing Funcions
05:58

  • Czym sa DataTriggery i jak z nich korzystać. Wiążemy własną klasę MyImages z kontrolką w xamlu i wyzwalamy akcję (datatrigger) w zależności od wartości instancji klasy.
Data Trigger
12:33

  • Czym jest itemscontrol, itemssource i datatemplate oraz jak z nich korzystać. Tworzymy praktyczną aplikacje, która wyświetla n zdjęc na raz wczytanych z kodu. Gdy zdjęcie się nie znajdzie to wyśietlana jest stosowna informacja, a zdjęcie jest zmieniane na symbolizujące, że treść nie została znaleziona. Gdy dodamy jakieś zdjęcie (jedną linią) w kodzie to nie trzeba już zmieniać nic w xamlu. Dowiadujemy się jak zmienić panel wyświetlania items control. Jak stworzyć kontrolkę wyświetlającą dane w nasz własny sposób. Jak zmienić Panel wyświetlania (itemspaneltemplate)?
itemsource / itemscontrol / datatemplate
20:26

  • Kontynuujemy poprzednią lekcję, dowiadujemy się czym jest UserControl i jak z niego korzystać? Jak tworzyć własne kontrolki w osobnych plikach, które można później ponownie używać? Jak sprawić, aby miały własne właściwości, do których można odwoływać się z xamla?
UserControl
06:27

Rozszerzamy poprzednią lekcję o możliwość bindowania do właściwości naszej własnej kontrolki. Omawiamy dokładnie czym jest Dependency Property oraz tworzymy własne Dependency Property. Dowiadujemy się czym jest Dependency Object. Jak korzystać ze snippetów w Visual Studio 2013

Custom Dependency Property
28:05

  • Czym są szablony i jak je tworzyć. Czym jest ControlTemplate i ContentPresenter. Jak stworzyć button o własnym wyglądzie np. elipsy. Jaka jest różnica między ControlTemplate, a DataTemplate?
Templates, ControlTemplate i ContentPresenter oraz TemplateBinding
15:08

  • Kontynuujemy poprzednią lekcję. Dowiadujemy się czym są MultiDataTtrigger, RelativeSource, FindAncestor, AncestorLevel, AncestorType, TemplatedParent oraz jak z nich korzystać. Jak bindować do właściwości 'względnie' tzn. względem siebie wybierając 'rodziców' kontrolki, czy też siebie. Jak z pomocą wyzwalacza odwołać się jednocześnie do zwykłej wartości property kontrolki oraz wartości znajdującej się w klasie zrobionej przez nas w kodzie. Tworzymy buttony, które gdy sie na nie najedzie myszką zmieniają kolor na niebieski (jeśli w kodzie z klasy Person przypisano do niego obiekt który właściwość płeć ma ustawioną na mężczyznę), lub na różowy (jeśli w kodzie przypisana do niego jest kobieta). Tworzymy przykład w którym korzystamy w tym samym momencie z ControlTemplate i DataTemplate.
MultiDataTriger i RelativeSource
16:30

  • Dowiadujemy się czym jest ListBox i jak go modyfikować z danymi z zewnątrz. Jak dodawać / usuwać elementy z ListBox. Jak podmienić wygląd poszczególnych elementów w ListBox, gdy zostanie spełniony jakiś warunek. Jak sprawić, aby można było wybrać więcej niż jeden element. Jak zareagować na wybranie jakiegoś elementu? Poznajemy ObservableCollection.
ListBox i ObservableCollection
17:08

  • Czym jest ComboBox? Jak stworzyć listę rozwijalną, którą można przeszukiwać? Kontynuujemy lekcję dotyczącą listboxa.
ComboBox
02:33

  • Dowiadujemy się czym jest ListView oraz jak korzystać z GridView. Wyświetlamy dane z ObservableCollection z klasy w kodzie (wiążemy dane z pomocą DisplayMemberBinding) w postaci tabelki z nagłówkami: "imię, wiek, email". Pokazujemy jak edytować wygląd wierszy (ItemContainerStyle), komórek tabeli (CellTemplate) oraz nagłówka (ColumnHeaderTemplate oraz ColumnHeaderContainerStyle).
Listview
17:13

  • Dowiadujemy się jak sortować dane wyświetlane w tabelce malejąco oraz rosnąco.
ListView - sortowanie danych
13:50

  • Czym jest DataGrid i jak z niego korzystać? Pokazujemy jak korzystać z kontrolki, która automatycznie wczytuje dane i tworzy kolumny z możliwością edycji / dodawania nowych / usuwania oraz sortowania na podstawie podanych jej danych. Uczymy się modyfikować powstałą tabelę (nadając jej własny wygląd / szablon). Dowiadujemy się jak dodać własne kolumny. Jak sprawić, aby tło było naprzemiennie innego koloru. Jak sprawić, aby każdy wiersz miał dodatkowy opis. Jak zmieniać funkcjonalności DataGrid jak np. zablokować sortowanie / roszerzenie niektórych elementów i wiele wiele innych.
DataGrid
25:34

  • Dowiadujemy się czym jest oraz jak korzystać z TemplateSelector. Jak stworzyć program, który wybiera szablon na dane na podstawie danych, które mamy w kontrolce.
TemplateSelector
10:13

  • Jak stworzyć menu główne aplikacji. Jak sprawić, aby można było odwoływać się do pozycji w menu z pomocą alt+wybrana przez nas literka (accelerator key). Jak dodać ikonę do pozycji w menu. Poznajemy kontrolkę RichTextBox i mówimy czym się różni od zwykłego TextBox. Jak korzystać z Command (komend), czym są i dlaczego są takie fajne. Omawiamy komendy służące do kopiowania, wklejania i wycinania
Menu i wbudowane komendy
20:04

  • Kontynuujemy lekcję dotyczącą menu i komend. Jak tworzyć własne komendy? Tworzymy na swój sposób komendę zamykającą nasza aplikację. owiadujemy się do czego służy CanExecute oraz Executed. Jak zmienić domyślne skróty klawiaturowe na inne? Jak zrobić wywołanie komendy np. skrótem CTRL + SHIFT + Q.
Custom Commands
19:32

  • Rozszerzamy poprzednią lekcję i z pomocą komendy otwieramy więcej niż 1 okno implementując okienko "pomocy". Implementujemy komendę ApplicationCommands.Help
Jak otworzyć więcej niż 1 okno?
03:00

  • Dowiadujemy się czym są Dialogi i jak tworzyć własne dialogi. Jak stworzyć i czym jest okno modalne. Jak stworzyć dodatkowe okienko, do którego gdy wprowadzimy jakieś dane to są zwracane w oknie głównym. Omawiamy dodatkowe właściwości MessageBox, które pozwalają ustawić ikonę oraz zmienić możliwości zamknięcia okna na np. odpowiedzi "tak lub nie, anuluj" etc. Uczymy się reagować na odpowiedzi w kodzie.
MessageBox i Dialogs
10:03

  • Czym jest i jak tworzyć kontekstowe menu. Jak przesyłać argumenty do komend (CommandParameter) i z ich pomocą ustawić np. początkową wartość TextBoxa w nowym oknie.
Context Menu i Command Parameter
05:21

  • Dowiadujemy się jak tworzyć ładne podpowiedzi do kontrolek (pojawiające się dymki po najechaniu myszką) oraz jak stworzyć toolbar i z niego korzystać.
Tooltip i toolbar
08:43

  • Dowiadujemy się jak stworzyć zakładki i dodać zawartość zakładek. Trenujemy lekcje dotyczące szablonów edytując domyślny wygląd nagłówków. Poznajemy właściwośc ContentSource ContentPresenter'a oraz dowiadujemy się jak wybrać z pomocą Property w Setterze właściwość należącą do leżącą wewnątrz jakiejś kontrolki i jak ją zmienić w pomocą triggera.
Zakładki - TabControl i ContentSource
09:13

  • Poznajemy sposób na importowanie ciekawych statycznych wartości takich jak np. aktualny czas, domena użytkownika, miejsce odpalenia aplikacji oraz jak importować statyczne zmienne z naszego programu.
x:static
05:24

  • Jak zmienić format zbindowanego wyświetlanego ciągu znaków np. jak sprawić, aby data wyświetlała się w formacie dzień, miesiąc, rok, godzina, minuta, sekunda lub też liczba była zaokrąglona do jedności lub jednego / dwóch lub więcej miejsc po przecinku.
StringFormat
09:10

  • Dowiadujemy się czym jest multibinding oraz rozwijamy wiadomości dotyczące StringFormat. Jak wyświetlić wartość, gdy w bindingu jedna z wartości jest nullem. Jak sprawić, aby zmienna typu int mogła przyjąć null. Poznajemy x:Null.
MultiBinding - StringFormat i TargetNullValue
07:16

  • Dowiadujemy się jak wykonywać jakiś proces (funkcję) co określony czas (interwał). Tworzymy zegarek wyświetlający aktualny czas, który jest aktualizowany co 1 sekundę.
DispatcherTimer
06:26

  • Poznajemy dwie kontrolki Calendar oraz DatePicker oraz uczymy się przetwarzać wartości zaznaczone w kalendarzu. Dowiadujemy się jak zaznaczyć więcej niż 1 wartość w kalendarzu i np. przesłać je do combobox. Dowiadujemy się również jak sprawić, aby jakieś daty nie mogły zostać zaznaczone.
Calendar oraz DatePicker
10:34
2 More Sections
About the Instructor
Arkadiusz Włodarczyk
4.5 Average rating
3,757 Reviews
31,426 Students
13 Courses
Excellent teacher, Expert in Programming

I am the author of 27 very popular video courses about programming, web-development and math in Poland. I've also created 7 video courses in English. Over 30,000 people enrolled in my Udemy courses. I put all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in the programming and web development adventure :)

I believe that everyone has the ability to develop software if they are taught properly. Including you. I'm going to give you the context of each new concept I teach you. After my course you will finally understand everything that you code.

I've been developing websites for over 15 years and I've been programming for over 10 years. I have enormous experience in that field and today I want to share with you my knowledge.

If you have any questions regarding any of the covered topics in my courses, please feel free to ask.