2012-05-08 12 views
6

私の理解によると、AutomationPropertiesを利用して、UI Automationクライアントによるコントロールの名前を識別することができます。WPFでAutomationPropertiesが必要な理由

私は同じ目的のためにx:Nameを使用せず、別々のオートメーションプロパティを作成する必要があることを理解したいと思います。

+0

[AutomationProperties.Name VS x:Name](http://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname)の重複可能性 – Jon

+1

重複していません。リンク内の質問(AutomationProperties.Name VS x:Name)は、その違いを指定します。私の質問はなぜですか? – Tilak

+0

なぜですか?それらのそれぞれが何のために使われるべきかには違いがあるからです。同じ種類の車ではなく、輸送用に車とトラックの両方を使用するのと同じ理由です。私の答えが未解決の質問を残していると感じますか?私はそれを改善して幸せになるでしょう。 – Jon

答えて

5

テキストボックスについて考えてみましょう。アプリケーションではPhoneNumberTextBoxであり、PhoneNumberLabelとPhoneNumberValidationTickもあります。これらは、「顧客」を示すラベル付きのグループボックス内に表示されます

あなたのアプリケーションを使用しようとしている盲人は、テキストボックスにタブインしたときにスクリーンリーダーが「顧客の電話番号」と言うようにしますアプリケーションの自動UIテストを作成するテスターは、「お客様の電話番号」を含むテキストボックスを探したいと考えています。

あなたのアプリケーションがドイツ語に翻訳されている場合はどうなりますか?盲目のユーザは、スクリーンリーダーが "Kundentelefonnummer"と言うことを望まないでしょうか?

ここで、PhoneNumberInputControlを使用するようにアプリを変更したとしたら、コード内のコントロールの名前を変更したいと考えていますが、コントロール名が変更されないようにしたいと考えています。

実行時にアプリケーションの「重要な」論理コントロールを処理し、ユーザーがアプリケーションとやり取りする方法を自動化しようとするプログラムで使用される名前の概念が必要です。

関連する問題