Compatibilidad de UI Automation para el tipo de control Edit
Nota
Esta documentación está dirigida a los desarrolladores de .NET Framework que quieran usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para ver la información más reciente acerca de la automatización de la interfaz de usuario, consulte Windows Automation API: automatización de la interfaz de usuario.
Este tema proporciona información sobre la compatibilidad de la UI Automation con el tipo de control de edición. En UI Automation, un tipo de control es un conjunto de condiciones que un control debe cumplir para poder usar la propiedad ControlTypeProperty. Las condiciones incluyen directrices específicas para la estructura de árbol de Automatización de la interfaz de usuario, los valores de propiedad de Automatización de la interfaz de usuario y los patrones de control.
Los controles de edición habilitan a un usuario para que vea y edite una línea de texto simple sin compatibilidad con formato enriquecido.
En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control de edición de UI Automation necesarios. Los requisitos de UI Automation se aplican a todos los controles de edición, ya sea Windows Presentation Foundation (WPF), Win32 o Windows Forms.
Estructura de árbol de Automatización de la interfaz de usuario necesaria
En la tabla siguiente se describe la vista de control y la vista de contenido del árbol de UI Automation que pertenece a los controles de edición y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de UI Automation,consulte Introducción al árbol de UI Automation.
Vista de control | Vista de contenido |
---|---|
Editar | Editar |
Los controles que implementan el tipo de control Edit no tendrán barras de desplazamiento en la vista de control del árbol UI Automation porque es un control de línea única. La única línea de texto puede encapsularse en algunos escenarios de diseño. El tipo de control Edit es idóneo para contener pequeñas cantidades de texto editable o seleccionable.
Propiedades de Automatización de la interfaz de usuario necesarias
En la tabla siguiente se muestran las propiedades de Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para los controles de edición. Para más información sobre las propiedades de automatización de la interfaz de usuario, consulte Propiedades de automatización de la interfaz de usuario para clientes.
Propiedad de automatización de interfaz de usuario | Valor | Notas |
---|---|---|
AutomationIdProperty | Vea las notas. | El valor de esta propiedad debe ser único en todos los controles de una aplicación. |
BoundingRectangleProperty | Vea las notas. | El rectángulo exterior que contiene el control completo. |
ClickablePointProperty | Vea las notas. | El control de edición debe tener un punto en el que se pueda hacer clic que dé enfoque de entrada a la parte de edición del control cuando un usuario hace clic en el mouse allí. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
NameProperty | Vea las notas. | El nombre del control de edición se genera normalmente desde una etiqueta de texto estático. Si no hay ninguna etiqueta de texto estático, el desarrollador de aplicaciones debe asignar un valor de propiedad para Name . La propiedad Name nunca debe incluir el contenido textual del control de edición. |
LabeledByProperty | Vea las notas. | Si hay una etiqueta de texto estático asociada al control, esta propiedad debe exponer una referencia a ese control. Si el control de texto es un subcomponente de otro control, no tendrá un conjunto de propiedades LabeledBy . |
ControlTypeProperty | Editar | Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario. |
LocalizedControlTypeProperty | "edición" | Cadena localizada que corresponde al tipo de control Edit. |
IsContentElementProperty | True | El control de edición siempre se incluye en la vista de contenido del árbol de UI Automation. |
IsControlElementProperty | True | El control de edición siempre se incluye en la vista de control del árbol de UI Automation. |
IsPasswordProperty | Vea las notas. | Debe establecerse en true en controles de edición que contienen contraseñas. Si un control de edición contiene el contenido de la contraseña, esta propiedad se puede usar por un lector de pantalla para determinar si las pulsaciones de teclas se deben leer cuando el usuario las introduce. |
Propiedades y patrones de control de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los patrones de control que se deben admitir por todos los controles de edición. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Patrón de control/propiedad de patrón de control | Soporte técnico/valor | Notas |
---|---|---|
ITextProvider | Depende | Los controles de edición deben admitir el patrón de control Text porque siempre debe haber información de texto detallada disponible para los clientes. |
IValueProvider | Depende | Todos los controles de edición que toman una cadena deben exponer el patrón Value. |
IsReadOnly | Vea las notas. | Se debe establecer esta propiedad para indicar si el control puede tener un valor establecido mediante programación o si es editable por el usuario. |
Value | Vea las notas. | Esta propiedad devolverá el contenido textual del control de edición. Si la IsPasswordProperty se establece en true , esta propiedad debe provocar una InvalidOperationException cuando se solicite. |
IRangeValueProvider | Depende | Todos los controles de edición que toman un intervalo numérico deben exponer el patrón de control Range Value. |
Minimum | Vea las notas. | Esta propiedad debe ser el valor mínimo en el que se puede establecer el contenido del control de edición. |
Maximum | Vea las notas. | Esta propiedad debe ser el valor máximo en el que se puede establecer el contenido del control de edición. |
SmallChange | Vea las notas. | Esta propiedad debe indicar el número de posiciones decimales en el que se puede establecer el valor. Si la edición solo acepta enteros, la SmallChangeProperty debe ser 1. Si la edición acepta un intervalo de entre 1,0 y 2,0, la SmallChangeProperty debe ser 0,1. Si el control de edición acepta un intervalo de entre 1,0 y 2,0, la SmallChangeProperty debe ser 0,001. |
LargeChange | Null |
Esta propiedad no necesita exponerse en un control de edición. |
Value | Vea las notas. | Esta propiedad indicará el contenido numérico del control de edición. Cuando se establece un valor más preciso por un cliente de UI Automation dentro de los intervalos especificados en las propiedades Minimum y Maximum , la propiedad Value se redondeará automáticamente al valor aceptado más cercano. |
Eventos de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los eventos de UI Automation que se deben admitir por parte de todos los controles de edición. Para más información sobre eventos, vea UI Automation Events Overview.
Evento de Automatización de la interfaz de usuario | Soporte técnico | Notas |
---|---|---|
InvalidatedEvent | Obligatorio | None |
TextSelectionChangedEvent | Obligatorio | None |
TextChangedEvent | Obligatorio | None |
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadNameProperty . | Obligatorio | None |
Evento cambiado por propiedadValueProperty . | Depende | None |
Evento cambiado por propiedadHorizontallyScrollableProperty . | Nunca | None |
Evento cambiado por propiedadHorizontalScrollPercentProperty . | Nunca | None |
Evento cambiado por propiedadHorizontalViewSizeProperty . | Nunca | None |
Evento cambiado por propiedadVerticalScrollPercentProperty . | Nunca | None |
Evento cambiado por propiedadVerticallyScrollableProperty . | Nunca | None |
Evento cambiado por propiedadVerticalViewSizeProperty . | Nunca | None |
Evento cambiado por propiedadValueProperty . | Depende | Si el control admite el patrón de control Range Value, debe admitir este evento. |
AutomationFocusChangedEvent | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |