2012-05-08 33 views
6

Per quanto ne so, AutomationProperties può essere utilizzato per identificare i nomi dei controlli da parte dei client di automazione UI.Perché AutomationProperties sono necessari in WPF

Voglio comprendere la necessità di creare un insieme separato di proprietà di automazione e di non utilizzare x: Name per lo stesso scopo.

+0

possibile duplicato di [AutomationProperties.Name VS x: Nome] (http://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname) – Jon

+1

Non è duplicato. La domanda nel collegamento (AutomationProperties.Name VS x: Nome) specifica qual è la differenza. La mia domanda è perché? – Tilak

+0

Perché? Perché c'è una differenza in ciò che ognuno di loro dovrebbe essere usato. La stessa ragione per cui le persone usano sia auto che camion per il trasporto invece di un solo tipo di veicolo. Pensi che la mia risposta lasci aperte le domande? Sarei felice di migliorarlo. – Jon

risposta

5

Pensiamo a una casella di testo, nella tua applicazione è PhoneNumberTextBox e hai anche una PhoneNumberLabel e PhoneNumberValidationTick. Questi vengono quindi visualizzati all'interno di una casella di gruppo con un'etichetta che mostra "Cliente"

Un utente cieco che tenta di utilizzare la tua applicazione vorrebbe che lo screen reader dicesse "Numero di telefono del cliente" quando si inserisce nella casella di testo, allo stesso modo un tester sta scrivendo un test dell'interfaccia utente automatizzato per la vostra applicazione vorrebbe essere in grado di trovare la casella di testo che contiene il "numero di telefono del cliente".

Ora se la vostra domanda è stata tradotta in tedesco .... L'utente cieco non vorrebbe che lo screen reader dicesse "Kundentelefonnummer"?

Ora immagina di cambiare la tua app per usare PhoneNumberInputControl, probabilmente vorrai cambiare i nomi del controllo nel tuo codice, ma il tester preferirebbe che il nome del controllo non cambi ....

Quindi abbiamo bisogno del concetto di un nome che viene utilizzato dai programmi che tentano di eseguire i controlli logici "importanti" di un'applicazione in fase di esecuzione e di automatizzare qualcosa sul modo in cui un utente interagisce con l'applicazione.

Problemi correlati