2012-05-08 30 views
6

Según mi entender, AutomationProperties puede utilizarse para identificar nombres de controles por parte de los clientes de automatización de la interfaz de usuario.Por qué son necesarias las propiedades de automatización en WPF

Quiero entender la necesidad de crear un conjunto separado de propiedades de automatización, y no usar x: Name para el mismo propósito.

+0

posible duplicado de [AutomationProperties.Name VS x: Name] (http://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname) – Jon

+1

No está duplicado. La pregunta en el enlace (AutomationProperties.Name VS x: Name) especifica cuál es la diferencia. Mi pregunta es por qué? – Tilak

+0

¿Por qué? Porque hay una diferencia en el uso de cada uno de ellos. La misma razón por la que las personas usan tanto automóviles como camiones para el transporte en lugar de un solo tipo de vehículo. ¿Sientes que mi respuesta deja preguntas abiertas? Me encantaría mejorarlo. – Jon

Respuesta

5

Pensemos en un cuadro de texto, en su aplicación es el PhoneNumberTextBox, y también tiene un PhoneNumberLabel, y PhoneNumberValidationTick. Estos se muestran dentro de un cuadro de grupo con una etiqueta que muestra "Cliente"

A una persona ciega que intenta usar su aplicación le gustaría que el lector de pantalla diga "Número de teléfono del cliente" al tabular en el cuadro de texto, asimismo El examinador que escribe una prueba de UI automatizada para su aplicación desea poder encontrar el cuadro de texto que contiene el "Número de teléfono del cliente".

Ahora, ¿qué pasa si su aplicación ha sido traducida al alemán .... ¿El usuario ciego no querría que el lector de pantalla dijera "Kundentelefonnummer"?

Ahora imagine que cambia su aplicación para usar un PhoneNumberInputControl, es probable que desee cambiar los nombres del control en su código, pero el probador desearía que el nombre del control no cambie ....

Necesitamos el concepto de un nombre que es utilizado por programas que intentan recorrer los controles lógicos "importantes" de una aplicación en tiempo de ejecución y automatizan algo acerca de cómo un usuario interactúa con la aplicación.

Cuestiones relacionadas