FrameworkElement.GoToElementStateCore(String, Boolean) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中實作時,可在程式碼中啟用控制項範本的個別狀態建構視覺化樹狀結構,而不是在控制項啟動時載入所有狀態的 XAML。
protected:
virtual bool GoToElementStateCore(Platform::String ^ stateName, bool useTransitions) = GoToElementStateCore;
bool GoToElementStateCore(winrt::hstring const& stateName, bool const& useTransitions);
protected virtual bool GoToElementStateCore(string stateName, bool useTransitions);
function goToElementStateCore(stateName, useTransitions)
Protected Overridable Function GoToElementStateCore (stateName As String, useTransitions As Boolean) As Boolean
參數
- stateName
-
String
Platform::String
winrt::hstring
要切換的目標狀態。
- useTransitions
-
Boolean
bool
true 表示使用 VisualTransition 在狀態之間轉換。 false 表示略過使用轉換,並直接移至要求的狀態。 預設值為 false。
傳回
bool
如果控制項成功轉換為新狀態,或已經使用該狀態,則為true;否則為false。
備註
FrameworkElement.GoToElementStateCore 的預設實作提供透過呼叫 VisualStateManager.GoToState存取的一般狀態變更行為,以及任何 XAML 控制項的預設控制項範本/視覺狀態載入行為。 如果您準備好在執行時間建構程式碼中控制項的視覺化樹狀結構,您應該只覆寫 FrameworkElement.GoToElementStateCore。 這包括任何來自內容屬性、子專案集合等內容的呈現方式。
針對自訂控制項中的一般狀態變更邏輯,您應該使用 VisualStateManager.GoToState。 FrameworkElement.GoToElementStateCore 的預定案例較為有限,它特別適用于想要優化 ListViewItem 或 GridViewItem 之視覺化樹狀結構,並呈現內容的應用程式或控制項。
VisualStateManager.GoToState 具有稍微不同的簽章,因為它是靜態公用程式 API,並使用控制項參數來指定要套用狀態變更的 控制項 。 FrameworkElement.GoToElementStateCore 會使用呼叫物件來取得這項資訊。