2009-08-24 20 views

Respuesta

21

ver Focus Overview

El foco del teclado se refiere al elemento que está recibiendo actualmente entrada de teclado. Solo puede haber un elemento en el escritorio completo que tenga el foco del teclado. En WPF, el elemento que tiene el foco del teclado tendrá IsKeyboardFocused establecido en verdadero. La propiedad estática FocusedElement en la clase Keyboard obtiene el elemento que actualmente tiene el foco en el teclado .

Enfoque lógico hace referencia al FocusManager.FocusedElement en un ámbito de enfoque . Un ámbito de enfoque es un elemento que realiza un seguimiento del FocusedElement dentro de su alcance. Cuando el foco del teclado deja un alcance de foco , el elemento enfocado perderá el foco del teclado, pero retendrá el foco lógico . Cuando el foco del teclado vuelve al ámbito de enfoque, el elemento enfocado obtendrá el enfoque del teclado. Esto permite que el foco del teclado se cambie entre múltiples ámbitos de enfoque, pero asegura que el elemento centrado en el ámbito de enfoque recupere el foco del teclado cuando el foco vuelve al ámbito de enfoque.

6

Encontré una buena serie de publicaciones de blog sobre el enfoque de WPF.

  1. Part1ItsBasicallyFocus

  2. Part2ChangingWPFFocusInCode

  3. Part3ShiftingFocusToTheFirstAvailableElementInWPF

todos son buenos para leer, pero la primera parte se ocupa específicamente de lógica vs foco del teclado. La tercera parte muestra una buena manera de establecer el foco en un elemento UI en un UserControl.

+2

Estos artículos se han movido y actualmente se pueden encontrar en: http://julmar.com/blog/mark/?p=52 http://julmar.com/blog/mark/?p=51 http : //julmar.com/blog/mark/? p = 50 – mtlynch

+1

Las respuestas de solo enlace son susceptibles de rotura de enlace. – ANeves

Cuestiones relacionadas