如何正確定義Silverlight視覺(jué)狀態(tài)組
Silverlight作為一款比較新的開(kāi)發(fā)工具,在學(xué)習(xí)的過(guò)程中,有很多新穎特殊的功能值得我們?cè)趯?shí)踐中去慢慢摸索其的應(yīng)用價(jià)值。我們今天將會(huì)了解到有關(guān)Silverlight視覺(jué)狀態(tài)組的相關(guān)定義方法。#t#
我們知道,視覺(jué)狀態(tài)管理器(VisualStateManager)負(fù)責(zé)管理控件的狀態(tài)和狀態(tài)組以及狀態(tài)的遷移,所以我們所有的視覺(jué)狀態(tài)組、視覺(jué)狀態(tài)遷移、視覺(jué)狀態(tài)等都通過(guò)它來(lái)管理,在XAML定義時(shí)。
在Silverlight視覺(jué)狀態(tài)組引用VisualStateManager之前,需要先引入命名空間,這是Silverlight 2 Beta 2的一個(gè)已知Bug。如下代碼所示:
- xmlns:vsm="clr-namespace:
System.Windows;assembly=
System.Windows"
接下來(lái)我們定義Silverlight視覺(jué)狀態(tài)組,在上篇文章中我們就介紹過(guò)CheckBox的狀態(tài)組,總共有三個(gè):FocusStates、CommonStates、CheckStates,這里我們只定義CommonStates和CheckStates狀態(tài)組,大家可以自行定義FocusStates狀態(tài)組,如下代碼所示:
- < vsm:VisualStateManager
.VisualStateGroups>- < !-- CommonStates StateGroup-->
- < vsm:VisualStateGroup
x:Name="CommonStates">- < /vsm:VisualStateGroup>
- < !-- CheckStates StateGroup-->
- < vsm:VisualStateGroup
x:Name="CheckStates">- < /vsm:VisualStateGroup>
- < /vsm:VisualStateManager
.VisualStateGroups>
這里需要為每個(gè)Silverlight視覺(jué)狀態(tài)組指定名稱(chēng),且名稱(chēng)是固定的。