Dzisiaj będzie trochę o wzorcach projektowych. Mianowicie o MVVM, który zaleca się stosować w przypadku projektów opartych na WPF. Przyznam się szczerze, że zanim zrozumiałem zasadę działania tego wzorca i jego implementację minęło trochę czasu… Jednak po kilku podejściach w końcu się udało i mogę śmiało pisać w MVVM ;). Zaznaczam jednak, że pisanie kodu zgodnie z tym wzorcem, czasami może nie być łatwe i niektóre problemy mogą prosić się o rozwiązanie ich standardowo w code-behind. Ja na przykład siedzi...
Czasami zachodzi potrzeba stworzenia aplikacji okienkowej z oknem konsoli w tle. Może ona służyć np. do łatwiejszego śledzenia poczynań programu, co w rezultacie pozwala na łatwiejsze znajdowanie błędów w kodzie. Po stworzeniu pustego projektu WPF App i jego kompilacji domyślnie konsola nie jest wyświetlana. Można jednak temu zaradzić. Wpis opisuje sposób rozwiązania tego problemu w Visual Studio, jednak w innych IDE też powinien działać. Pierwszą rzeczą jaką należy zrobić, jest utworzenie nowego pusteg...
Sztuka programowania 2583 dni, 26 minut temu 201 źrodło rozwiń
Opisuje jak rozszerzyć funkcje kontrolki WPF w czystym WPF . Bez żadnego uciążliwego code behind.
Sztuka programowania 2640 dni, 52 minuty temu 156 źrodło rozwiń
Trochę sporo ostatnio czasu w ramach projektu poświęciłem na naprawianie biblioteki ClrMd i pisania poradników o GitHubie. W ramach rdzennego rozwoju projektu skupiłem się na neo4j, teraz pora najwyższa wrócić do interfejsu i zastanowić się nad ważnym pytaniem - czego użyję jako biblioteki rysującej grafy.
Daj się poznać 2016 2672 dni, 18 godzin, 48 minut temu 92 źrodło rozwiń
W poprzednim poście posłużyłem się następującym kodem, mającym wczytać plik ze zrzutem pamięci i następnie załadować odpowiednią wersję pliku mscordacwks.dll. Niestety, jak już wspomniałem, ten kod umieszczony w aplikacji WPF powoduje jej zawieszenie - na wywołaniu CreateRuntime() interfejs przestaje odpowiadać i możemy czekać tak w nieskończoność.
Daj się poznać 2016 2694 dni, 18 godzin, 1 minutę temu 42 źrodło rozwiń
Dlaczego podejście drugie? Ponieważ już raz pisałem o generowaniu Menu, ale trochę w inny sposób i w innym środowisku. Wtedy po prostu tworzyłem obiekty Xwt.MenuItem. Teraz zmieniłem podejście. Interfejs IMenuElement określa minimalny wspólny interfejs obiektów menu w dowolnym frameworku jakiego będę używał. I na podstawie definicji menu złożenej z obiektów IMenuElement będę generował odpowiednią strukturę obiektów.
Daj się poznać 2016 2694 dni, 18 godzin, 1 minutę temu 77 źrodło rozwiń
W rozwoju każdego oprogramowania przychodzi ten moment, że zdarza się pierwszy bug. Potem są już kolejne. No i ja mam za sobą ten etap – aż z wrażenia założyłem Issue we własnym projekcie...
Daj się poznać 2016 2701 dni, 21 godzin, 30 minut temu 34 źrodło rozwiń
O tym jak wygląda metoda Main() w aplikacji WPF oraz jak można dodać swoją własną, aby program się uruchamiał.
Daj się poznać 2016 2697 dni, 29 minut temu 112 źrodło rozwiń
Opis projektu MemoryVisualizera toczy się w kilku wątkach. Jednym z nich jest moja przygoda z F# w kontekście WPF. Po pierwszej części, w której w ogólności opisywałem jak możemy “pożenić” WPF z F#, pora kolejne kroki. Ale wcześniej potrzebne nam będzie krótkie przypomnienie z WPF w C#.
Daj się poznać 2016 2713 dni, 20 minut temu 66 źrodło rozwiń
Pewnie wielu z Was spotkało się kiedyś z kontrolką RichTextBox, w której najprościej jest wyświetlić jakiś sformatowany dokument jak na przykład rtf. Jakiś czas temu dostałem zadanie, które polegało na tym, że użytkownik wpisywał teść w polu z ograniczonym rozmiarem znaków. Jeżeli ilość znaków zostałaby przekroczona, tekst, który jest nadmiarowy miał zmienić kolor na inny niż czarny. Sprawa nie była zbyt prosta jak się okazało ponieważ sam RichTextBox jest już problemem. Kontrolka nie posiada bezpośred...
Kilka godzin pracy z F# w Visual Studio i kilka niespodzianek już za mną. Zainstalowanie Visual F# Tools (pozwalające tworzyć projekty F# w Visual Studio) jak się okazuje to był dopiero początek.
Daj się poznać 2016 2734 dni, 8 godzin, 51 minut temu 68 źrodło rozwiń
Obsługa parametrów wtyczki VST w WPFowym GUI oraz ich automatyzacja.
Daj się poznać 2016 2737 dni, 2 minuty temu 68 źrodło rozwiń
Po trzech pierwszych, wprowadzających postach pora wreszcie przejść do konkretów - kodu! MemoryVisualizer ma być aplikacją desktopową, napisaną w WPF. Nie mam jeszcze ani jednej linijki kodu, zacznę zatem od pustej aplikacji z jakiegoś szablonu. Gdybym zdecydował się na C#, sprawa byłaby prosta - startuję z pustego szablonu WPF Desktop Application i już.
Daj się poznać 2016 2736 dni, 53 minuty temu 106 źrodło rozwiń
Dodajemy slider do wtyczki VST i wpływamy na prędkość analizowania pasm częstotliwości sygnału wejściowego.
Daj się poznać 2016 2739 dni, 22 godziny, 6 minut temu 36 źrodło rozwiń
W tym odcinku - wyświetlanie poziomów sygnału audio na żywo we wtyczcze VST dzięki przygotowanej wcześniej kontrolce użytkownika w WPF.
Daj się poznać 2016 2744 dni, 12 godzin, 16 minut temu 48 źrodło rozwiń
Cześć! W poprzednim moim poście zaprezentowałem konsolową aplikację do obsługi przycisków po stronie komputera. W tym tygodniu zająłem się przygotowaniem interfejsu przyjaznego dla oka. Już niedługo dojdą nowe funkcje :)
Daj się poznać 2016 2747 dni, 23 godziny, 1 minutę temu 136 źrodło rozwiń
W tym odcinku tworzymy prostą kontrolkę użytkownika w WPF służącą później to wyświetlania poziomu głośności z filtrów pasmowych.
Daj się poznać 2016 2750 dni, 18 godzin, 34 minuty temu 68 źrodło rozwiń
Dzisiaj pokażę jak zrobić własny interfejs użytkownika dla wtyczki VST w WPF.
Daj się poznać 2016 2754 dni, 8 godzin, 37 minut temu 95 źrodło rozwiń
Przemysław Walkowski WPF 4.5 księga eksperta – tak jak wskazuje tytuł autor podchodzi do tematu WPF-a w bardzo dokładny i głęboki sposób. Książka Adama Nathan-a jest długa- ma prawie 1000 stron i opisuje kompletnie zagadnienia z WPF-a. Książka jest aktualna i została wydana oryginalne w 2014 roku. Poniżej moja recenzja. Początki Jak na księgę eksperta przystało w książce opisany jest praktycznie każdy aspekt WPF-a, opis kontrolek, opis multimediów takich ...
Zauważyłem, że widok Design, który pozwala podejrzeć jak aplikacja będzie wyglądać po zbudowaniu często się zawiesza lub nie odświeża się gdy zbudujemy projekt. A im większy projekt tym większa szansa, że widok Design nawali.