Share via


FocusManager Kelas

Definisi

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 true.

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.

Berlaku untuk