2017-06-07 55 views
1

我的應用程序中有很多Custom和UserControl。講述人。有沒有其他的DialogContent?

對於DialogContent講述人只有控制內使用組合鍵「Caps Lock鍵」 +「箭」讀, 但對於CustomControl用戶控件解說員讀取所有自動化樹(外控制)。

我該如何製作CustomControl有特徵DialogContent(只讀內部控件)?

是否有替代DialogContent?

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

+0

你可以給一些圖像來幫助我們知道嗎? – lindexi

+0

@lindexi是的,我編輯描述這個任務。 –

+0

@lindexi藍框指示使用組合鍵(「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顯示在不同於一切的可視樹目錄中,這就是爲什麼Narrator只能「讀入」控件。沒有讀取的對話框中的任何內容都將其AccessibilityView設置爲Raw,並且控件自動化同級處理任何其他輔助功能行爲。如果你想要一個自定義對話框,你可以創建一個派生自ContentDialog的自定義控件,並且它具有所有相同的屬性。如果您希望自定義控件在應用程序的主樹中內聯,則需要將所有內容都設置爲raw,或者您可以編寫自定義自動化同級。 –

+0

David Grochocki,謝謝,現在我明白瞭如何爲內容對話框和用戶控件創建自動化樹。 –