Maszyna stanów w MVVM. Czyli sterowanie widokiem.

Uczepiłem się ostatnimi czasy tego wzorca. Uczepiłem się na tyle, że w trakcie przygotowań jest mój autorski framework (może trochę za dużo powiedziane). Jednak nie o tym będzie w tym artykule. W czasie prac nad nową aplikacją na Windows Phone napotkałem pewne kłopoty. Jak to w MVVM, wywoływanie określonych zachowań interfejsu we View-Model zawsze stawia pewne znaki zapytania. Tym razem miałem do wyświetlenia różne komunikaty, w zależności od sytuacji. Jak to zrobić? Czytaj dalej

Share

Storyboardy zgodnie z duchem MVVM

Projektując programy w technologiach XAMLowych z wykorzystaniem MVVM Light Toolkit (w zasadzie liczy się wzorzec), zawsze napotykam problemy, na które trudno znaleźć jednoznaczną odpowiedź. Najczęściej kłopoty sprawia widok, który nie zawsze „chce” się zmieścić w kodzie xaml. Prostsze zadania można rozwiązać przy pomocy zachowań (?) czy też triggerów. Sprawy się komplikują w przypadku storyboardów. Co zrobić, jeżeli chcemy uruchomić animacje nie po zdarzeniu, a po wykonaniu konkretnego kroku we View-Model?

Czytaj dalej

Share

Z przeglądarki na telefon? Proste!

W ostatnim czasie Microsoft uraczył programistów .NET kilkoma podobnymi technologiami. WPF, Silverlight, Silverlight for Windows Phone czy najnowsze aplikacje Metro w Windows 8. Wszystkie wymienione technologie łączy XAML z pewnymi tylko różnicami wynikającymi ze specyfiki poszczególnych platform.

Skoro mamy pewien punkt wspólny pomiędzy technologiami, dlaczego by nie spróbować przenieść już napisany program na inną platformę? Oczywiście nie zawsze to ma sens. Menedżer plików napisany w WPF jest nie do zaimplementowania w „przeglądarkowym” Silverlight, a program do przechowywania kontaktów telefonicznych z funkcją wysyłania smsów i wybierania numerów nie powinien się znaleźć poza telefonem. Niemniej jednak są przypadki, w których portowanie aplikacji jest uzasadnione.

W tym wpisie opiszę moje spostrzeżenia na przykładzie portowania gry 7Letters z Silverlight w przeglądarce na telefon z Windows Phone. Zajmę się również przeniesieniem aplikacji na Windows 8, ale o tym innym razem. Czytaj dalej

Share

Animacje w locie – czyli Storyboard w kodzie C#

Storyboardy są bardzo wdzięcznym mechanizmem animacji do umieszczania w kodzie XAML. Attached properties, definiowanie targetu na podstawie nazwy obiektu… Szybko, sprawnie i przyjemnie. Sprawy mają się gorzej jeżeli musimy zdefiniować taką samą animację do wielu obiektów. Całkowita komplikacja następuje w momencie kiedy musimy animować obiekt dodany dynamicznie. W takim wypadku nie pozostaje nic innego jak porzucić XAML i zanurzyć się w kodzie C#.

Czytaj dalej

Share

Prosty Paint w Silverlight w niecałe 120 linii

Co można zrobić ciekawego wykorzystując tyle linii? Niewiele ;-), ale… Rysowanie przy pomocy ołówka oraz figur: elipsa, prostokąt. Wszystko możliwe w 4 wybranych kolorach. Dodatkowo zaimplementowany mechanizm historii zdarzeń (undo-redo) bez limitu zapamiętanych „ruchów”.

 

Czytaj dalej

Share