niedziela, 2 maja 2010

Silverlight Center And Scale Behavior

W ostatnim poście pisałem o tym jak wyśrodkować i skalować aplikację. Tym razem poszedłem o krok dalej i stworzyłem prosty behavior który z łatwością podłączymy do każdej aplikacji i nie musimy modyfikować istniejącego kodu.

Co należy zrobić?
1. Ściągnąć kod bahaviora:  http://gallery.expression.microsoft.com/en-us/CenterAndScale
2. Podłączyć kod do aplikacji:
<usercontrol .....="" ....="" xmlns:behavior="clr-namespace:CenterAncScaleBehavior;assembly=CenterAncScaleBehavior" xmlns:interaction="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity">

    <interaction:interaction.behaviors>
        <behavior:centerancscalebehavior>
    </behavior:centerancscalebehavior>

    <grid> ... </grid>
</interaction:interaction.behaviors>
</usercontrol>
3. Gotowe. W 95% aplikacji powinno działać. :]

Jeżeli używacie Microsoft Expression Blend-a, wystarczy przeciągnąć klasę na aplikację (patrz video).

Prezentacja, a więc behavior w akcji (66 sekund)


Prosty przykład działania
Aplikacja bez behaviora:  http://bit.ly/cVinEC
Aplikacja już z podłączonym bahaviorem: http://bit.ly/ba8UsI

Nie bangla?
Behavior powinień działać dla więkoszości aplikacji ale niekoniecznie dla wszystkich. Jeśli macie specyficzne ustawienia, stałe rozmiary dla UserControl itp., to bez zmian w aplikacji niestety skalowanie nie zadziała.

Pozdrawiam,
Jacek Ciereszko

Brak komentarzy: