Control.FocusState Properti

Definisi

Mendapatkan nilai yang menentukan apakah kontrol ini memiliki fokus, dan mode di mana fokus diperoleh.

public:
 property FocusState FocusState { FocusState get(); };
FocusState FocusState();
public FocusState FocusState { get; }
var focusState = control.focusState;
Public ReadOnly Property FocusState As FocusState

Nilai Properti

Nilai enumerasi. Nilai Tidak Fokus menunjukkan bahwa kontrol tidak memiliki fokus.

Keterangan

Properti ini mendukung kontrol yang menggunakan gaya visual yang berbeda tergantung pada apakah kontrol difokuskan oleh keyboard atau dengan cara lain. Beberapa kontrol menggunakan status visual yang memperlihatkan indikator fokus yang terlihat jika kontrol difokuskan oleh tindakan keyboard, tetapi tidak memperlihatkan indikator jika kontrol difokuskan oleh tindakan penunjuk. Logika internal kontrol tersebut mengimplementasikan OnGotFocus dan kemudian mendapatkan nilai FocusState dari pengirim. Jika FocusState adalah Keyboard, maka status visual bernama berbeda yang menyertakan persegi panjang fokus dimuat, dengan memanggil GoToState. Biasanya, status visual terkait fokus dikelompokkan bersama dalam templat kontrol default XAML. Kontrol kustom yang ingin menggunakan visual fokus yang berbeda tergantung pada sarana fokus dapat menerapkan logika yang sama ini sendiri. Lihat OnGotFocus.

Cara lain untuk menggunakan properti ini adalah dengan menggunakan FocusManager untuk menentukan elemen mana di UI keseluruhan yang memiliki fokus, lalu memanggil FocusState pada elemen tersebut untuk mendapatkan informasi tentang bagaimana kontrol tersebut menerima fokus.

Catatan untuk versi sebelumnya

Catatan

Dalam Windows 8, ketika FocusState terprogram, visual fokus keyboard ditampilkan meskipun metode input sebelumnya adalah pointer. Di Windows 8.1, saat Anda memanggil Fokus (FocusState.Programmatic), FocusState sebelumnya, baik Pointer atau Keyboard, dipertahankan sehingga visual fokus yang benar ditampilkan. Ini berarti bahwa jika Anda memeriksa nilai properti FocusState setelah Anda memanggil Focus (FocusState.Programmatic), properti FocusState akan memiliki nilai Pointer atau Keyboard.

Dalam aplikasi yang dikompilasi untuk Windows 8, tetapi dijalankan di Windows 8.1, perilaku Windows 8 dipertahankan. Nilai properti FocusState terprogram dan visual fokus keyboard ditampilkan.

Catatan

Kelas yang mewarisi dari ItemsControl, seperti ListBox dan AutoSuggestBox, tidak menyebarluaskan properti FocusState. Mereka akan selalu kembali Tanpa Fokus. Akses nilai yang benar melalui RoutedEventArgs.OriginalSource.

Berlaku untuk