Как передать параметр в кнопку и получить значение в коде для перенаправления на другую страницу в зависимости от значения параметра в Windows Phone 7? - PullRequest
4 голосов
/ 17 января 2012

Я думаю, что если событие кнопки Windows Phone 7 похоже на разработку ASP.NET с C #, что-то вроде кнопки, я устанавливаю значение для параметра командной строки в XAML, а в коде позади я получаю параметр команды и перенаправитьстраницы.

Я не нашел хороших примеров для обработки событий кнопки, какие-либо предложения?

Спасибо.

Ответы [ 2 ]

11 голосов
/ 17 января 2012

Для xaml:

<Button Tag="pageAddress" Click="Button_Click" />

А потом по коду:

private void Button_Click(object sender, RoutedEventArgs e)
{
     Button _button = (Button)sender;
     NavigationService.Navigate(new System.Uri(_button.Tag.ToString()));
}
7 голосов
/ 17 января 2012

Я бы порекомендовал вам использовать параметр команды, как вы упомянули.Так что в вашем xaml сделайте что-то вроде этого:

<Button x:name="myButton" CommandParameter="{Binding Title}" Click="myButton_Click"/>

А в вашем коде C # что-то вроде этого:

private void myButton_Click(object sender, RoutedEventArgs e)
{
   Button _myButton = (Button)sender;
   string value = _myButton.CommandParameter.ToString();
}

На самом деле это очень похоже на ответ Teemu, хотя я должен признать, что у меня нетt раньше использовал элемент Tag .Согласно документации на MSDN, элемент Tag должен работать очень хорошо, поскольку он может хранить пользовательскую информацию, которую вы можете получить в своем коде (или viewmodel).

...