2017-06-07 1 views
1

私は多くのカスタムとユーザーコントロールを自分のアプリケーションに持っています。 DialogContentナレーターは、キーの組み合わせを使用してのみ制御内を読み込む「ロックキャップ」+「アロー」、 しかしCustomControlユーザーコントロールためにナレーターがすべてのオートメーションツリー(外のコントロールを読み込むためにナレーター。代わりのDialogContentはありますか?

)。

にはどうすればいいの特性DialogContent(のみコントロール内の読み込み)をCustomControlを作ることができますか?

代替DialogContentはありますか?

Example using ContentDialog + Narrator + Key combination "CapsLock" + "Arrow"

+0

私たちに知ってもらえるようなイメージを与えてもらえますか? – lindexi

+0

@lindexiはい、私はこの仕事の説明を編集しました。 –

+0

@lindexi blue frameは、キーの組み合わせ(「CapsLock」+「Arrow」)で移動するときのナレータの位置を示します。 –

答えて

2

あなたはAutomationProperties ClassでXAML添付プロパティを使用することができます。あなたのケースでは、カスタムコントロールのいずれかにAutomationProperties.AccessibilityView="Raw"を設定して、ナレータがそれらの部分にアクセスするのを防ぐことができます。

このプロパティを使用する主なシナリオは、コントロール全体のアクセシビリティビューに有意義な影響を及ぼすものではないため、UIオートメーションビューからテンプレート内の特定のコントロールを意図的に省略することです。たとえば、デフォルトのコントロールテンプレートを見ると、このXAML属性が、コントロールコンポーネントの一部であるContentPresenterまたはTextBlockに適用され、AutomationProperties.AccessibilityViewを「Raw」に設定することがよくあります。これが行われていない場合、ドキュメントビューまたはコントロールビューでは、これらの部分が重大なコントロールパートではなく、個別のUIオートメーション要素として認識されます。 UIオートメーションツリーの「生の」ビューは、通常、高度な支援技術製品の一部の自動化ツールや特殊モードでのみ消費されます。 (出典:MSDN

+0

回答ありがとうございますが、私は非常に大きなUIオートメーションツリーを持っており、 "AutomationProperties.Accessibility View"を "Raw"に設定することは非常に困難です。また、このケースはバグをスキップするために非常に危険です。だから私は、CocntentControlプロパティを持つデフォルトのコントロールか、これらのプロパティを持つカスタムコントロールを書く例を探しています。 –

+1

ContentDialogsは、すべてのものとは異なるビジュアルツリーのルートに表示されます。そのため、ナレータはコントロールを「内部で読み取る」だけです。ダイアログ内に読み込まれていないものは、AccessibilityViewがRawに設定され、コントロールオートメーションピアが他のアクセシビリティビヘイビアを処理します。カスタムダイアログが必要な場合は、ContentDialogから派生したカスタムコントロールを作成できます。カスタムコントロールはすべて同じプロパティを持ちます。カスタムコントロールをアプリケーションのメインツリーでインラインにするには、すべてをrawに設定する必要があります。カスタムオートメーションピアを作成することもできます。 –

+0

David Grochocki、ありがとう、今私は、コンテンツダイアログとユーザーコントロールのオートメーションツリーを作成する方法を理解しています。 –

関連する問題