2012-01-16 2 views
4

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

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

спасибо.

+0

Я пытаюсь сделать что-то вроде

ответ

11

Для 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())); 
} 
+2

Благодарим вас за ответ. Какая разница между использованием свойства Tag и свойства CommandParameter? Думаю, я могу сделать Tag = "{Binding Title}" так же, как CommandParameter = "{Binding Title}"? –

+0

Привет, Teemu, не могли бы вы привести короткий пример, как передать объект Item, у которого есть свойства Icon, LineOne, LineTwo и LineThree на другой странице, используя тег внутри элемента управления Button, пожалуйста? Я обнаружил, что свойство Tag в Button Button действительно полезно при передаче объекта. Большое спасибо –

+1

Обычно я использую MVVM, и свойство Tag идеально подходит для ссылок на элементы. Я не могу поместить весь этот пример в этот комментарий. –

7

Я бы порекомендовал вам использовать параметр команды, как вы упомянули. Так что в вашем 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(); 
} 

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