FocusManager Kelas
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.
Menyediakan sekumpulan metode statis, properti terlampir, dan peristiwa untuk menentukan dan mengatur cakupan fokus dan untuk mengatur elemen yang berfokus dalam cakupan.
public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
- Warisan
-
FocusManager
Keterangan
Di Windows Presentation Foundation (WPF) ada dua konsep mengenai fokus: fokus keyboard dan fokus logis.
Fokus keyboard berkaitan dengan elemen yang saat ini menerima input keyboard. Hanya ada satu elemen dengan fokus keyboard. Elemen dengan fokus keyboard ini telah IsKeyboardFocused diatur ke true
.
Keyboard.FocusedElement mengembalikan elemen dengan fokus keyboard.
Fokus logis berkaitan dengan FocusManager.FocusedElement dalam cakupan fokus tertentu.
Cakupan fokus adalah elemen kontainer yang melacak FocusManager.FocusedElement dalam cakupannya. Secara default, Window kelas adalah cakupan fokus apa adanya Menukelas , ContextMenu, dan ToolBar . Elemen yang merupakan cakupan fokus telah IsFocusScope diatur ke true
.
Mungkin ada beberapa elemen dengan fokus logis, tetapi hanya ada satu elemen dengan fokus logis dalam satu cakupan fokus. Elemen dengan fokus logis tidak selalu memiliki fokus keyboard, tetapi elemen dengan fokus keyboard akan memiliki fokus logis. Dimungkinkan untuk menentukan cakupan fokus dalam cakupan fokus. Dalam hal ini, cakupan fokus induk dan cakupan fokus anak dapat memiliki FocusManager.FocusedElement.
Skenario berikut menggambarkan bagaimana fokus keyboard dan perubahan fokus logis dalam aplikasi WPF yang memiliki Window dengan TextBox dan Menu yang memiliki MenuItem. Saat fokus keyboard berubah dari TextBox ke MenuItem, TextBox kehilangan fokus keyboard tetapi mempertahankan fokus logis untuk Window cakupan fokus. mendapatkan MenuItem fokus keyboard dan mendapatkan fokus logis untuk Menu cakupan fokus. Ketika fokus keyboard kembali ke akar Window, elemen dalam Window lingkup fokus dengan fokus logis akan mendapatkan fokus keyboard, yang dalam hal ini adalah TextBox. Sekarang TextBox memiliki fokus keyboard dan fokus logis. Kehilangan MenuItem fokus keyboard, tetapi mempertahankan fokus logis untuk Menu cakupan fokus.
Nilai default pada IsFocusScope , , , dan ContextMenu adalah true
. ToolBarMenuWindow
Untuk informasi selengkapnya tentang fokus, lihat Gambaran Umum Input dan Gambaran Umum Fokus.
Bidang
FocusedElementProperty |
FocusedElement Mengidentifikasi properti terlampir. |
GotFocusEvent |
Mengidentifikasi peristiwa terlampir GotFocus . |
IsFocusScopeProperty |
IsFocusScope Mengidentifikasi properti terlampir. |
LostFocusEvent |
Mengidentifikasi peristiwa terlampir LostFocus . |
Properti yang Terlampir
FocusedElement |
Menentukan apakah elemen yang dilampirkan properti ini memiliki fokus logis. |
IsFocusScope |
Menentukan apakah elemen yang dilampirkan properti ini adalah cakupan fokus. |
Metode
AddGotFocusHandler(DependencyObject, RoutedEventHandler) |
Menambahkan handler untuk kejadian terlampir GotFocus . |
AddLostFocusHandler(DependencyObject, RoutedEventHandler) |
Menambahkan handler untuk kejadian terlampir LostFocus . |
GetFocusedElement(DependencyObject) |
Mendapatkan elemen dengan fokus logis dalam cakupan fokus yang ditentukan. |
GetFocusScope(DependencyObject) |
Menentukan leluhur terdekat dari elemen yang ditentukan yang telah IsFocusScope diatur ke |
GetIsFocusScope(DependencyObject) |
Menentukan apakah yang ditentukan DependencyObject adalah cakupan fokus. |
RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) |
Menghapus handler untuk kejadian terlampir GotFocus . |
RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) |
Menghapus handler untuk kejadian terlampir LostFocus . |
SetFocusedElement(DependencyObject, IInputElement) |
Mengatur fokus logis pada elemen yang ditentukan. |
SetIsFocusScope(DependencyObject, Boolean) |
Mengatur yang ditentukan DependencyObject sebagai cakupan fokus. |
Acara yang Terlampir
GotFocus |
Terjadi ketika elemen mendapatkan fokus. |
LostFocus |
Terjadi ketika elemen kehilangan fokus. |