Bagikan melalui


VisualStateManager.GoToStateCore Metode

Definisi

Ketika ditimpa di kelas turunan, transisi kontrol antar status.

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

Parameter

control
Control

Kontrol untuk transisi antar status.

templateRoot
FrameworkElement

Elemen akar controlTemplate kontrol.

stateName
String

Platform::String

winrt::hstring

Nama status yang akan ditransisikan.

group
VisualStateGroup

VisualStateGroup tempat status berada.

state
VisualState

Representasi status ke transisi.

useTransitions
Boolean

bool

true untuk menggunakan VisualTransition untuk transisi antar status; jika tidak, false.

Mengembalikan

Boolean

bool

true jika kontrol berhasil beralih ke status baru; jika tidak, false.

Keterangan

API ini adalah bagian dari skenario menentukan perilaku VisualStateManager kustom. Mengesampingkan GoToStateCore perubahan perilaku status dalam perilaku kelas kustom Anda.

Untuk mereferensikan kelas VisualStateManager kustom Anda, atur nilai properti terlampir VisualStateManager.CustomVisualStateManager dalam templat kontrol apa pun tempat Anda ingin menggunakan perilaku kelas kustom VisualStateManager . Anda biasanya membuat instans kelas kustom VisualStateManager melalui konstruksi XAML default di Application.Resources. VisualStateManager.CustomVisualStateManager Kemudian properti terlampir diatur menggunakan referensi ekstensi markup {StaticResource} ke kunci sumber daya kustomVisualStateManager.

Catatan untuk pewaris

Saat konsumen kelas VisualStateManager kustom Anda memanggil GoToState untuk mengubah status visual kontrol, ini adalah perilaku default yang Anda ambil alih:+ Jika VisualState seperti yang dinamai dengan stateName memiliki Papan Cerita, papan cerita dimulai.

  • Jika VisualState yang digunakan kontrol sebelum status yang baru diminta memiliki Papan Cerita, papan cerita tersebut akan berhenti.
  • Jika VisualStatestateName untuk tidak ada di group, implementasi Anda harus mengembalikan false.
  • Jika kontrol sudah ada di VisualState yang diminta sebagai stateName, implementasi Anda harus mengembalikan true.

Untuk informasi selengkapnya tentang perilaku default, lihat GoToState.

Peristiwa untuk perubahan status visual

CurrentStateChanging diaktifkan ketika kontrol mulai melakukan transisi status seperti yang diminta oleh panggilan GoToState . Jika VisualTransition diterapkan ke perubahan status, peristiwa ini terjadi saat transisi dimulai.

CurrentStateChanged diaktifkan setelah kontrol berada dalam status seperti yang diminta oleh panggilan GoToState , sama seperti Storyboard baru dimulai. Tidak ada peristiwa yang diaktifkan pada penyelesaian papan cerita baru.

Jika VisualTransition tidak diterapkan, CurrentStateChanging dan CurrentStateChanged menembak berturut-turut dengan cepat, tetapi dijamin dalam urutan tersebut jika keduanya terjadi.

Namun, jika transisi perubahan status terganggu oleh panggilan GoToState baru, peristiwa CurrentStateChanged tidak pernah dinaikkan untuk transisi status pertama. Seri peristiwa baru diaktifkan untuk perubahan status yang diminta berikutnya.

Mengesampingkan perilaku RaiseCurrentStateChanged dan RaiseCurrentStateChanging bersifat opsional: bagaimana dan kapan peristiwa dinaikkan oleh implementasi default mungkin memadai untuk kelas kustom Anda.

Berlaku untuk

Lihat juga