Dodatek do ostatniego odcinka kursu o WPF. Przygotowałem wideo, w którym opowiadam mniej więcej to samo o czym była poprzednia lekcja. Jest tam trochę pomyłek w doborze słownictwa, ale pracuję nad tym. Miłego oglądania i jeśli ktoś ma to proszę słać uwagi i/lub komentarze. Paweł ŁukasikFounder of Octal Solutions a .NET software house. Passionate dev, […]
Category / WPF
Po dłuższej przerwie wracamy do kursu o WPF. Dziś będzie o stylach. WPF wprowadza nowość w zakresie zmiany wyglądu kontrolek. Wszystkie są stworzone w taki sposób, że logika jest oddzielona od wyglądu. Dzięki temu możemy zmienić wygląd cały czas zachowując funkcjonalność. Style Co za pomocą nich możemy uzyskać?Załóżmy, że chcemy zmienić wygląd przycisków w naszej […]
Czasami podczas wprowadzania danych zachodzi potrzeba ich walidacji (a w zasadzie zawsze jest). W tym odcinku zobaczymy jak możemy takie reguły walidacyjne do naszego interface’u. Możemy to zrobić na dwa sposoby. Pierwszy z nich to napisanie własnej metody walidacji, drugi to przekazanie wszystkich wystąpionych wyjątków jako elementów systemu walidacji. Zobaczmy to na przykładach. Aby napisać […]
W poprzednim odcinku omówiony (pobieżnie) został mechanizm DataBindingu. Dziś powiemy sobie co robić, abyśmy mogli w trochę większym stopniu niż dotychczas kontrolować to w jaki sposób wyświetlamy nasze dane. ValueConverters Załóżmy, że na potrzeby tego wpisu mamy prostą klasę: public class Device { public bool Active { get; set; } } Oczywiście chcemy […]
Dzisiejszy odcinek poświęcony będzie zagadnieniu DataBindning. Zagadnienie to nie jest nowe – mamy je także w Win i WebForms, jednak w przypadku technologii WPF nabiera ono zupełnie nowego wymiaru. Binding w kodzie Możemy to zrobić w prosty sposób za pomocą elementy Binding Binding binding = new Binding(); binding.Source = tekst; binding.Path = new PropertyPath(“Text”); label.SetBinding(TextBlock.TextProperty, […]
Dziś będzie poruszony temat zasobów w WPF. A mówiąc ściślej zasobów binarnych. Zasoby te mogą być umieszczone w 3 różnych miejscach. Mogą być: wewnątrz assembly “luźne” pliki znane aplikacji w czasie kompilacji “luźne” pliki nieznane aplikacji podczas kompilacji Gdy dodajemy nowy zasób do wyboru mamy mnóstwo opcji: Dla nas istotne są: Resource – umieszcza zasób […]
Dziś temat multimediów. WPF jako nastawiony na interface użytkownika ma dużo do powiedzenia w tej kwestii. Zacznijmy zatem po kolei przyglądać się co mamy do dyspozycji. SoundPlayer To najprostsza klasa, którą mamy do dyspozycji jeśli chcemy odtworzyć dźwięki. SoundPlayer player = new SoundPlayer(“plik.wav”); player.Play(); Ze względu na swoją prostotę ma też swoje ograniczenia. odtwarza tylko […]
Dziś, zgodnie z zapowiedzią z poprzedniego posta, miało być o Materials. Jednak o tym nie będzie. Dlaczego? Posty te traktuję jako przygotowanie do egzaminu, i po przyjrzeniu się stwierdziłem, że tak wnikliwe opisywanie tematu nie jest konieczne przy egzaminie. Oby da decyzja się nie zemściła :). Documents Dziś zatem będzie o dokumentach. Dokumenty definiuje się […]
Dziś będzie trochę informacji odnośnie światła w scenach 3D w WPF. Światło jest dosyć ważne, gdyż to od niego zależy jak nasz obiekt będzie się prezentował. W WPF dostępnych mamy kilka ich rodzajów: DirectionalLight PointLight SpotLight AmbientLight Jak ich używać? Światło definiujemy jak element w tagach ModelVisual3D.Content […]
Po kolejnej przerwie powracamy do kursu o WPF a konkretniej dokończenia fragmentu o grafice 3D. Przekształcenia 3D Dostępne mamy te same transformacje co w przypadku dwuwymiarowych grafik: TranslateTransform3D, ScaleTransform3D, RotateTransform3D, MatrixTransform3D oraz Transform3DGroup. Jak ich użyć? Tak więc po prostu tworzymy podrzędny tag o nazwie Transform, w […]