Kolejny tydzień prac dobiegł końca. Aplikacja małymi krokami rozwija się. Cały czas staram się dodawać interesujące funkcje lub rozwijać w miarę ciekawe problemy, aby nie zanudzać czytelników bloga moimi cotygodniowymi raportami z postępu prac. Według mnie, najciekawszy problem z jakim się zetknąłem w ostatnim tygodniu było skojarzenie plików z moim programem. Chciałem aby po zainstalowaniu Winbota, można było eksportować z niego pliki, które później będą możliwe do urucho...
Daj się poznać 2017 2719 dni, 3 godziny, 5 minut temu 25 źrodło rozwiń
Jak już wspominałem w jednym z postów, bardzo odpowiada mi pełna separacja UI od reszty kodu jaką zapewnia wzorzec MVVM i doceniam w pełni jego zalety. Czasem jednak pojawia się klasyczne “g..no w szprychy” podczas jakieś prostej do wykonania w code-behind czynności. Dzisiaj, podczas pracy nad desktopową aplikacją do robota pojawił się problem z bindigiem hasła z PasswordBox-a. O ile w przypadku TextBox-a nie ma z tym żadnego problemu, t...
Daj się poznać 2017 2727 dni, 7 godzin, 23 minuty temu 226 źrodło rozwiń
Kolejną rzeczą, nad którą pracowałem w ramach mojego projektu Winbot, była edycja różnych obiektów za pomocą interfejsu użytkownika. W aplikacji występuje kilka typów obiektów. Mógłbym przygotować oddzielne kontrolki do edycji każdego typu z osobna, ale takie rozwiązanie mnie nie zadowalało. Za każdym razem kiedy chciałbym wprowadzić nowy typ, musiałbym dodatkowo przygotować nową kontrolkę do edycji. Byłoby to dość niewygodne i denerwujące. Moim celem było przygotowanie gen...
Daj się poznać 2017 2731 dni, 6 godzin, 33 minuty temu 32 źrodło rozwiń
W ostatnich tygodniach nieco więcej skupiłem się na pisaniu postów na bloga niż na samym projekcie, nie znaczy to jednak że go odłożyłem. Ponieważ udało mi się kilka tygodni temu podgonić trochę tematy związane z komunikacją, nadal z grubsza biorąc mieszczę się w założonych ramach czasowych. Gotowe jest już większość kodu Arduino (poza częścią związaną z autonomią poruszania się robota) i w zasadzie w większości mam g...
Daj się poznać 2017 2732 dni, 7 godzin, 46 minut temu 24 źrodło rozwiń
To trochę zadziorne pytanie. Wzorzec MVVM znajduje zastosowanie w światku .NET w aplikacjach WPF/Silverligh (tak BTW, ciekawe czy ktoś jeszcze pracuje w tej technologii) i od niedawna również w mobilno-wieloplatformowym Xamarin FORMS.
Daj się poznać 2017 2735 dni, 8 godzin, 18 minut temu 218 źrodło rozwiń
W poprzednim artykule rozpoczęliśmy pisanie aplikacji do wyliczania kosztu zamówienia w restauracji. Dzisiaj kontynuujemy prace. Udało nam się już przebrnąć przez kilka kluczowych elementów tworzenia aplikacji przy użyciu WPF oraz wzorca MVVM przy wykorzystaniu MVVM Toolkit. W tej części stworzymy okno z podsumowaniem zamówienia. Wykorzystamy do tego mechanizm do komunikacji pomiędzy modelami widoków oferowany przez MVVM Toolkit. Do dzieła! Ponownie jak wcześniej zaczniemy od zdefiniowani...
Daj się poznać 2017 2743 dni, 8 godzin, 16 minut temu 88 źrodło rozwiń
Dziś przedstawię początek przygody z WPF w języku C# - na początku będzie to wizualizacja "pusta" tzn, same okienka. W kolejnych wpisach będę poszerzała ten temat o dodatkowe funkcje lub metody. W tym poście przedstawię wizualizację kalkulatora, w kolejnych wpisać tak jak mówiłam - będzie rozszerzenie o kolejne funkcje.
Daj się poznać 2017 2745 dni, 7 godzin, 54 minuty temu 46 źrodło rozwiń
O tym jak stworzyć sobie szablon do biblioteki WPFowej, jak stworzyć pierwszą bibliotekę i po co w ogóle to robić.
Daj się poznać 2017 2758 dni, 7 godzin, 10 minut temu 100 źrodło rozwiń
Tak jak zapowiedziałem w poprzednim wpisie traktującym o wzorcu MVVM, chciałbym przedstawić MVVM Toolkit – narzędzie, które znacznie ułatwia korzystanie z tego wzorca. Oczywiście w sieci dostępnych jest wiele innych bibliotek, które także mają za zadnie wspomagać programistów przy implementacji tego wzorca. Jednymi z najpopularniejszych są: Prism oraz Caliburn Micro. Nie będę zagłębiał się w różnice pomiędzy nimi a MVMM Toolkit – chętnych odsyłam do stron tych projektów. Przedstawiając MVVM T...
Daj się poznać 2017 2758 dni, 7 godzin, 10 minut temu 123 źrodło rozwiń
Zapraszam do przeczytania kolejnej części serii z prowadzenia projektu na potrzeby Daj Się Poznać!
Daj się poznać 2017 2761 dni, 7 godzin, 9 minut temu 33 źrodło rozwiń
Jak stworzyć pierwszą kontrolkę, która w dodatku będzie się komunikować ze światem. Polecam początkującym.
Daj się poznać 2017 2762 dni, 17 godzin, 39 minut temu 53 źrodło rozwiń
Czy C# jest najlepszym językiem do nauki programowania? To zależy! :) Ale od czego? Już wielu początkującym znajomym to tłumaczyłem, a dzisiaj postanowiłem zrobić dla nich wpis.
Daj się poznać 2017 2763 dni, 18 godzin, 35 minut temu 124 źrodło rozwiń
Jak ogarnąć GUI aby korzystanie było przyjemne, łatwe i praktyczne? Jak to wszystko ładnie i schludnie połączyć ze środowiskiem systemu? A może by tak trochę poudawać?
Daj się poznać 2017 2771 dni, 19 godzin, 24 minuty temu 84 źrodło rozwiń
Co mają wspólnego lody o smaku słonego karmelu z code-behind w MVVM? O tym w dzisiejszym poście.
Architektura 2778 dni, 18 godzin, 58 minut temu 146 źrodło rozwiń
Kolejny wpis na blogu. Tym razem trochę o przyjemności korzystania z systemu i pomysłów jak powinna wyglądać integracja z systemem.
Czas: początek dwudziestego pierwszego wieku. Dzień bliżej nieokreślony. Pora dnia: zaraz po obiedzie. Miejsce: Biuro Microsoft’u. Bohaterowie: Osoby odpowiedzialne za WPF. O tym jak prosto poradzić i ładnie poradzić sobie z NotifyIcon.
Sztuka programowania 2781 dni, 17 godzin, 35 minut temu 151 źrodło rozwiń
Jeżeli zaczynasz swoją przygodę ze wzorcem MVVM to tak samo, jak ja prędzej czy później napotkasz na problem z obsługą zdarzeń. Teoretycznie powinny zastąpić nam je tzw. komendy. Jednak nie wszystkie kontrolki je obsługują(np. ComboBox) i nie dla wszystkich zdarzeń można je „ot, tak” wywołać. Jak zatem sobie z tym poradzić? Oczywiście trzeba powiązać dane zdarzenie z komendą 😉 Aby móc poradzić sobie z tym problemem, w miarę prosty sposób musimy posłużyć się frameworkiem ułatw...
Chyba każdy zgodzi się z tym, że ogromna część oprogramowania przeznaczona jest do użytku przez osoby z różnych części świata – a co za tym idzie posługującymi się różnymi językami. Oczywiście istnieją również aplikacje przeznaczone na „rynek lokalny”, jednak to raczej nisza. Jak zatem w łatwy i przyjemny sposób sprawić, aby nasza aplikacja obsługiwała wiele języków jednocześnie? Sposobów znajdzie się wiele, jednak na szczęście w przypadku .NET’a ta sprawa jest naprawdę prosta 😉 Właściwie do każdego p...
Quick look at how to develop WPF application to compute git repository statistics using F#
Wzorzec MVVM, co prawda wiele rzeczy ułatwia i porządkuje. Jednak potrafi sprawić też masę problemów. Pisząc swoją pierwszą aplikację, z użyciem tego wzorca natknąłem się na sporą ich ilość. Jednym z nich było przechwytywanie zdarzenia zamykania głównego okna aplikacji, w celu zapisania wprowadzonych zmian. Drugim problemem było zamknięcie innego okna – potomnego, które miało wyświetlać się na czas ładowania pliku, a później znikać. W przypadku code-behind zadania te są banalnie proste. Mamy zdarzenie za...