środa, 16 czerwca 2010

Blend 4 - niebanalny layout bez linijki kodu!

Pisanie o nowym Blendzie rozpocznę od rzeczy moim zdaniem bardzo istotnej i dość przełomowej w stosunku do dotychczasowych możliwości - od layoutu wzdłuż dowolnego kształtu.

Do tej pory grafik musiał prosić programistę, aby ten napisał mu kod realizujący layout wzdłuż zadanej krzywej. Miał też utrudniony podgląd, by od razu móc wypróbować swoje pomysły. Jak się zmieniała koncepcja designu, programista znów musiał zmieniać kod. Czy nie lepiej przerzucić tworzenie złożonych krzywych na grafika, który najlepiej będzie wiedział, co chce osiągnąć i by mógł sobie łatwo zmieniać wygląd bez żadnego pośrednika?

Otóż w nowym Blendzie można, a jest to realizowane przy użyciu kontrolki PathListBox.

PathListBox układa elementy wzdłuż ścieżki lub ścieżek (a dokładniej mogą być to: Path, Shapes - dotychczasowe i nowe lub … dowolny wręcz element). Poprzez różne parametry mamy dość duży wpływ na efekt końcowy naszej pracy.

02_MultiplePaths

PathListBox (Blend SDK) uzupełnia też braki w samym Silverlight. Dzięki niemu wreszcie łatwo zrobimy animację i napis po dowolnej ścieżce.

Animacja po ścieżce polega na animowaniu parametru Start dla ścieżki w PathListBox. Dzięki temu widzimy, że obiekty na ścieżce się przesuwają.

03_MotionPath

Rozmieszczenie napisu wzdłuż ścieżki robimy poprzez zbindowanie stringa do ItemsSource PathListBox’a. W .NET string to kolekcja liter, ot cała tajemnica sukcesu! Jak dodatkowo wprawimy w ruch ścieżkę, to możemy tanio uzyskać całkiem niezły bajer.

04_TextOnPath

Bardzo łatwo możemy też sprawić, by np. rozmiary i przezroczystość elementów zależały od ich położenia na ścieżce.

05_PathListBoxItem_02

To nie wszystko! Usiądź, weź krzesło, zrób karuzelę nowoczesną! Dzięki rozszerzeniom dla PathListBox’a opublikowanym przez team Blenda można łatwo osiągać jeszcze bardziej zaawansowane efekty wizualne!  Teraz zrobienie np. nowoczesnej przeglądarki produktów to kwestia kilku kliknięć. Pamiętajmy, że PathListBox obsługuje dane podobnie jak ListBox, elementy nie muszą być podawane “na sztywno”, można bindować do kolekcji dowolnych obiektów.

Kto nie kupi krzesła w taakim sklepie?

06_PathListBoxUtils_03

Więcej szczegółów, przydatne linki oraz przykłady zamieściłem tutaj.

Brak komentarzy: