VisualStateManager.GoToStateCore メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスでオーバーライドされると、状態間でコントロールが遷移します。
protected:
virtual bool GoToStateCore(Control ^ control, FrameworkElement ^ templateRoot, Platform::String ^ stateName, VisualStateGroup ^ group, VisualState ^ state, bool useTransitions) = GoToStateCore;
bool GoToStateCore(Control const& control, FrameworkElement const& templateRoot, winrt::hstring const& stateName, VisualStateGroup const& group, VisualState const& state, bool const& useTransitions);
protected virtual bool GoToStateCore(Control control, FrameworkElement templateRoot, string stateName, VisualStateGroup group, VisualState state, bool useTransitions);
function goToStateCore(control, templateRoot, stateName, group, state, useTransitions)
Protected Overridable Function GoToStateCore (control As Control, templateRoot As FrameworkElement, stateName As String, group As VisualStateGroup, state As VisualState, useTransitions As Boolean) As Boolean
パラメーター
- control
- Control
状態を遷移するコントロール。
- templateRoot
- FrameworkElement
コントロールの ControlTemplate のルート要素。
- stateName
-
String
Platform::String
winrt::hstring
遷移後の状態の名前。
- group
- VisualStateGroup
状態が属する VisualStateGroup 。
- state
- VisualState
遷移後の状態の表現。
- useTransitions
-
Boolean
bool
true
VisualTransition を使用して状態間を切り替える場合は 。それ以外の場合は false
。
戻り値
bool
true
コントロールが正常に新しい状態に遷移した場合。それ以外の場合は false
。
注釈
この API は、カスタム VisualStateManager 動作を定義するシナリオの一部です。 オーバーライドすると、 GoToStateCore
カスタム クラスの動作の状態の動作が変更されます。
カスタム VisualStateManager クラスを参照するには、カスタム クラスの動作を使用するコントロール テンプレート内で VisualStateManager.CustomVisualStateManager 添付プロパティの値を VisualStateManager
設定します。 通常、Application.Resources で既定の XAML 構築を使用してカスタム VisualStateManager
クラスのインスタンスを作成します。 次に、VisualStateManager.CustomVisualStateManager
添付プロパティは、カスタム VisualStateManager
リソースのキーに対する {StaticResource} マークアップ拡張参照を使用して設定されます。
継承者へのメモ
カスタム VisualStateManager クラスのコンシューマーが GoToState を呼び出してコントロールのビジュアル状態を変更すると、これがオーバーライドする既定の動作です。+ というstateName
名前の VisualState にストーリーボードがある場合、ストーリーボードが開始されます。
- 新しく要求された状態より前にコントロールが使用していた VisualState に ストーリーボードがある場合、そのストーリーボードは停止します。
-
の VisualState
stateName
が にgroup
存在しない場合、実装は を返すfalse
必要があります。 - として要求された
stateName
VisualState にコントロールが既にある場合、実装は を返すtrue
必要があります。
既定の動作の詳細については、「 GoToState」を参照してください。
ビジュアル状態の変更に関するイベント
CurrentStateChanging は、 GoToState 呼び出しの要求に応じてコントロールが状態の遷移を開始したときに発生します。 状態の変更に VisualTransition が適用されている場合、このイベントは遷移の開始時に発生します。
CurrentStateChanged は、新しいストーリーボードが開始されるのと同じように、GoToState 呼び出しによって要求された状態のコントロールの後に発生します。 新しいストーリーボードの完了時にイベントは発生しません。
VisualTransition が適用されていない場合、CurrentStateChanging と CurrentStateChanged は連続して起動しますが、両方が発生した場合は、その順序で保証されます。
ただし、新しい GoToState 呼び出しによって状態変更の遷移が中断された場合、最初の状態遷移に対して CurrentStateChanged イベントは発生しません。 次に要求された状態変更のために、新しいイベント シリーズが発生します。
RaiseCurrentStateChanged と RaiseCurrentStateChanging の動作のオーバーライドは省略可能です。既定の実装によってイベントが発生する方法とタイミングは、カスタム クラスに適している可能性があります。