#c# #xaml #button #windows-phone-8.1
#c# #xaml #кнопка #windows-phone-8.1
Вопрос:
Я новичок в разработке на c # и wp.
При «удержании» я хочу, чтобы значение содержимого кнопки было в виде строки в моем коде c #.
<Grid>
<Pivot>
<PivotItem>
<Grid>
<Button x:Name="Venue1" Content="Venue1" HorizontalAlignment="Left" Margin="30,0,0,0"VerticalAlignment="Top" Width="342" Height="102" Grid.Row="1" Holding="Holding"/>
</Grid>
</PivotItem>
</Pivot>
</Grid>
Я думал, что это довольно просто, и сделал это, но не работает.
TextToSpeech — это метод, который принимает строку и считывает ее. Он считывает «Windows.UI.Xaml.Controls.Grid» … почему?
private async void Holding(object sender, HoldingRoutedEventArgs)
{
await TextToSpeech(this.Content.ToString());
}
Ответ №1:
Попробуйте это :-
private async void Holding(object sender, HoldingRoutedEventArgs)
{
var obj = sender as Button;
var content = obj.Content;
await TextToSpeech(content);
}
Что вы делаете неправильно, так это используете это. Здесь это относится не к кнопке, а к самой странице. Вместо этого вы должны использовать соответствующий объект button, который я уже показал, как использовать.
Для получения дополнительной информации смотрите Это ключевое слово
вы также можете использовать название кнопки, чтобы получить ее содержимое, которое немного жестко запрограммировано.
Комментарии:
1. спасибо всем за быстрые ответы 🙂 также потребовалось toString () содержимое в конце, но сработало в кратчайшие сроки. Спасибо!!
Ответ №2:
Это довольно просто 🙂
await TextToSpeech(this.Venue1.Content.ToString());
Комментарии:
1. это тоже работает, но я предпочитаю версию mr.loop, чтобы я мог использовать этот же метод для других моих кнопок. в любом случае спасибо!
2. @koko уверен — оба метода работают, поэтому подойдет тот, который вы предпочитаете. 🙂