定義控制項的不同視覺狀態

您可以在應用程式中建立互動功能,方法是針對 UserControl 控制項、 Window 控制項、 Page 控制項或控制項範本可能呈現的每一種視覺狀態定義不同的視覺外觀,接著再新增行為或程式碼以隨著使用者互動在這些狀態間切換。您可以修改兩種狀態組合間的切換,甚至建立動畫以在首次進入狀態時執行。

狀態群組

狀態群組包含屬於相同邏輯類別但無法同時顯示的任何視覺狀態。雖然控制項一次只能顯示同一狀態群組中的一種狀態,但卻可以同時顯示來自不同狀態群組的兩種狀態。

例如,如果您正在操作代表遊戲紙牌的 UserControl 控制項,可能會有名為 "SideDisplayed" 的狀態群組,其中包括顯示紙牌正面 (FaceUp) 與反面 (FaceDown) 的狀態。還可能會有名為 MouseInteraction 的狀態群組,其中包括可在將指標移至紙牌上方 (MouseOver) 及按一下紙牌 (Click) 時變更紙牌外觀的狀態。紙牌可以同時為正面以及將指標移至該紙牌上,因此這些狀態是在不同的狀態群組中。不過紙牌不能同時為正面及反面,因此這兩種狀態可以在相同的狀態群組中。

遊戲紙牌的狀態群組與狀態

Ee371169.4fecf399-1962-4668-86e7-efe1a485cbc1(zh-tw,Expression.40).png

如需詳細資訊,請參閱定義使用者控制項的不同視覺狀態和切換時間

狀態

當您選取狀態時,狀態錄製功能便會開啟,以錄製您對該狀態所做的任何變更。若要關閉狀態錄製功能,請按一下錄製按鈕 Ee371169.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(zh-tw,Expression.40).png,或在 [狀態] 面板中選取 [Base]。如果想變更某個狀態群組中狀態的外觀,同時檢視其他狀態群組之狀態中的控制項,您可以在進入第一個狀態的錄製模式時鎖定第二個狀態的預覽。

如需詳細資訊,請參閱定義使用者控制項的不同視覺狀態和切換時間

若要變更狀態,您可以使用 GoToStateAction 行為,或在事件處理常式中撰寫程式碼。

如需詳細資訊,請參閱根據使用者互動變更狀態

切換

您可以延長狀態變更發生時切換狀態所需的時間。您可以設定整個狀態群組的切換持續時間,或針對特定狀態組合間的切換設定切換持續時間。

設定狀態群組中所有狀態的切換持續時間

Ee371169.d1eabf30-62d2-47ae-a52b-453c702b9358(zh-tw,Expression.40).png

只設定從 Click 狀態切換為其他所有狀態時的切換持續時間

Ee371169.1ed8d611-1ce5-4101-ad73-54aa166c4e9a(zh-tw,Expression.40).png

如需詳細資訊,請參閱修改狀態變更之間的切換時間定義使用者控制項的不同視覺狀態和切換時間

如果狀態會修改屬於離散值 (例如欄數或列數) 或自動設定 (例如寬度和高度) 的版面配置屬性,而您想在這些狀態間製造平順的切換效果,可以使用流動版面配置。

如需詳細資訊,請參閱平順地在版面配置變更之間切換

狀態中動畫

您可以新增動畫至狀態,讓控制項切換至狀態後播放該動畫。

如需詳細資訊,請參閱新增狀態變更後播放的動畫

另請參閱

工作

建立可重複使用的範本以設定系統控制項的樣式

概念

設計全新的使用者控制項
一般 Silverlight 控制項的樣式提示

Copyright © 2011 by Microsoft Corporation. All rights reserved.