VisualStateManager.GoToStateCore Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 VisualState
stateName
untuk tidak ada digroup
, implementasi Anda harus mengembalikanfalse
. - Jika kontrol sudah ada di VisualState yang diminta sebagai
stateName
, implementasi Anda harus mengembalikantrue
.
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.