воскресенье, 5 августа 2012 г.

XAML: переходим между страницами по клику без code-behind

Итак, мы пишем .NET WPF приложение. В моем случае: Silverlight приложение для WindowsPhone. Представим ситуацию: по нажатию на одну кнопку нужно перейти на другую страницу приложения.
<Button x:Name="ToPageButton" Text="Move to other page!" />

Что делается в первую очередь? Правильно, на кнопку вешается event, а далее в code-behind пишется код перехода на новую страницу.

XAML:
<Button x:Name="ToPageButton" Text="Go!" Click="Button_Click" />
Code-behind:
private void Button_Click(object sender, RoutedEventArgs e)
{
    NavigationService.Navigate(new Uri("/SomePage.xaml", UriKind.Relative));
}

Как все это сделать проще и в одном месте (в XAML-коде)?