2015-12-25 5 views
0

Я разрабатываю универсальное приложение для Windows (XAML, C#) на телефоне, и я предоставляю доступность для рассказчика. Кто-нибудь знает, как заставить рассказчика автоматически читать заголовок страницы при открытии страницы?Windows phone app, как использовать рассказчик читать название страницы автоматически?

Я попытался установить automationproperties.name на странице, но не получилось:

<Page 
x:Class="xxxxxx" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
AutomationProperties.Name="Page title to be read" 
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

ответ

0

Особенности Рассказчика для UWP применяются при выборе элемента управления в списке, или редактирование текстового поля. Если вы хотите прочитать содержимое, если приложение открыто, вы должны использовать API SpeechSynthesizer, который на самом деле легко реализовать:

1.- В XAML добавить Медиа Элемент

<MediaElement x:Name="MediaElement"/> 

2.-Тогда в код за страницей:

public MainPage() 
    { 
     this.InitializeComponent(); 
     this.Loaded += MainPage_Loaded; 
    } 

    private void MainPage_Loaded(object sender, RoutedEventArgs e) 
    { 
     ReadTitle(); 
    } 

    private async void ReadTitle() 
    { 
     var voice = SpeechSynthesizer.AllVoices.First(); 
     SpeechSynthesizer reader = new SpeechSynthesizer() { Voice = voice }; 
     var text= this.GetValue(AutomationProperties.NameProperty) as String; 
     await reader.SynthesizeTextToStreamAsync(text); 

     MediaElement.SetSource(stream, stream.ContentType); 
     MediaElement.Play(); 
    } 

Вы можете прочитать все, что хотите, передав строку читателю.

0

Вам нужно сделать просмотр в зависимости от рассказчика. Я не верю, что вы можете объявить свойство Name в классе Page. Попробуйте что-нибудь подобное в содержании вашей страницы:

<HyperlinkButton 
    NavigateUri="www.bing.com" 
    AutomationProperties.AutomationID="bing url" //Not Required to work 
    AutomationProperties.Name="Go to the Bing Homepage"//Narrator will read this 
    <StackPanel> 
     <TextBlock Text="Bing Dot Com" /> 
     <TextBlock Text="www.bing.com" /> 
    <StackPanel> 
</HyperlinkButton> 

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.automation.peers.accessibilityview

EDIT: Вам также может понадобиться, чтобы программно установить фокус на элементе для этой работы