piątek, 18 lipca 2008

ASP.NET MVC Preview 4

Ze stron CodePlex można już pobrać ASP.NET MVC Preview 4. Na blogu Scotta Guthrie można znaleźć informacje nt. najnowszej wersji.

czwartek, 17 lipca 2008

Silverlight 2 beta 2 vs. WPF - odcinek 4

Ograniczenia Silverlight 2 beta 2 w stosunku do WPF, które mi się ostatnio objawiły:

zdarzenia myszy: m.in brak obsługi prawego przycisku i kółka do przewijania, brak comboboxa (!), strona XAML w aplikacji jako UserControl, tekst: m.in brak FlowDocument i RichTextBox, brak DrawingBrush ...

GridSplitter: podobnie jak część kontrolek znajduje się w przestrzeni Windows.Controls.Extended, nie jest widoczny w Expression Blend, a jest pokazywany z poziomu Visual Studio 2008 ...

Nawigacja: działa ze stronami HTML, URI ze stroną XAML aplikacji nie wydaje się być dopuszczalne ...

TileBrush: w Expression Blend w panelu Properties w sekcji Brushes brakuje zakładki "Tile brush". Z kolei, gdy w panelu Resourses kliknie się prawym przyciskiem myszy na zdefiniowane przez nas wcześniej wypełnienie rodzaju ImageBrush, to pojawia się możliwość ustawienia "tile mode". Jednak przy próbie wyboru wypełnienie obiektu znikało... W końcu pojawił mi się nieoczekiwany błąd w programie Expression Blend, wskutek czego musiał zostać zamknięty (!)

Motion Path: wygenerowanie animacji po torze ścieżki nie jest możliwe (klasa DoubleAnimationUsingPath nie istnieje)

ciąg dalszy nastąpi ...

piątek, 11 lipca 2008

Silverlight 2 beta 2 vs. WPF - odcinek 3

Kolejne ograniczenia Silverlight 2 beta 2 w stosunku do WPF, które mi się ostatnio objawiły: brak efektów bitmapowych, LayoutTransform, elementów layout'u - m.in WrapPanel i DockPanel. Dodatkowo znowu udało mi się doprowadzić do UNKNOWN ERROR w runtime, gdy URL do pliku video wyeksportowałem w Expression Blend do postaci zasobu ...

Ciąg dalszy nastąpi ...

środa, 9 lipca 2008

Silverlight 2 beta 2 vs. WPF - odcinek 2

Różnice między Silverlight 2 a WPF wyliczone są m.in na stronach:
http://jimmangaly.blogspot.com/2008/04/differences-between-wpf-and-silverlight.html
http://jimmangaly.blogspot.com/2008/06/whats-new-in-silverlight-2-beta-2.html
http://blogs.msdn.com/silverlight_sdk/archive/2008/06/04/what-s-new-in-silverlight-2-beta-2.aspx

Z pewnością w Silverlight 2 przydałyby się takie elementy znane z WPF jak: możliwość podmiany stylu, dziedziczenie styli, triggery, dynamiczne resourcy (do łatwej zmiany skórki w locie), więcej możliwości w bindingu, itd.

Cieszyć mogą elementy, których nie spotkamy w dotychczasowych wydaniach WPF: Deep Zoom oraz Visual State Manager.

Jeśli chodzi o Deep Zoom, to koniecznie trzeba zapoznać się z narzędziem Deep Zoom Composer. Tworzy strukturę katalogów, w których są przechowywane w różnych jakościach poszczególne części dodanych wcześniej do galerii obrazków. Ta struktura opisana jest w specjalnym pliku XML, który wiążemy z odpowiednią kontrolką. DTC pozwala wygenerować gotowy projekt Silverlight z obsługą odpowiednich zdarzeń (wraz z aplikacją ASP.NET).

Visual State Manager znacznie ułatwia tworzenie szablonów dla kontrolek poprzez definicję stanów i tranzycji. Jest to wygodniejsze niż korzystanie z bardziej uniwersalnych triggerów w WPF.
http://www.interact-sw.co.uk/iangblog/2008/06/10/visual-state
http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx

poniedziałek, 7 lipca 2008

Silverlight 2 beta 2 vs. WPF - odcinek 1

Ile WPF-a mieści się w Silverlight 2 beta 2? Postanowiłem odpowiedzieć sobie na to pytanie badając to praktycznie i próbując zrealizować sztandarowe przykłady z WPF-a w Silverlight.

Jak do tej pory wyszły mi pewne niedostatki/bugi:

- brak propercji IsSynchronizedWithCurrentItem. W scenariuszu master-details korzystanie ze wspólnego DataContext jest utrudnione. Przy zmianie pozycji na liście master trzeba obsłużyć odpowiedniego eventa i ręcznie ustawić aktualnie wybraną pozycję jako kontekst danych w details.

- przy podpinaniu template'ów do kontrolek: w Expression Blend 2.5 June CTP podgląd w trakcie designu jest poprawnie generowany, natomiast w Visual Studio 2008 oraz w trakcie wykonania pokazywany jest UNKNOWN ERROR. Podpięcie szablonu do kontrolki z poziomu kodu rozwiązuje problem.

- w kontrolce Listbox ustawianie koloru tła oraz obwódki nie działa. Problem można obejść przez zdefiniowanie szablonu.

- przy tworzeniu efektu lustrzanego odbicia: brak klasy VisualBrush utrudnia odbijanie elementów GUI złożonego z kontrolek innych niż obrazki i elementy video.

- binding do XML oraz do propercji innego obiektu zdają się nie być dostępne (?) (w Expression Blend nie są aktywne).

- przy zastosowaniu transformacji Skew wypełnienie transformowanego obiektu staje się puste -;)

Ciąg dalszy nastąpi ...