Итак, мы пишем .NET WPF приложение. В моем случае: Silverlight приложение для WindowsPhone. Представим ситуацию: по нажатию на одну кнопку нужно перейти на другую страницу приложения.
Что делается в первую очередь? Правильно, на кнопку вешается event, а далее в code-behind пишется код перехода на новую страницу.
XAML:
Как все это сделать проще и в одном месте (в XAML-коде)?
Для начала подключаем к проекту сборки:
<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-коде)?
Для начала подключаем к проекту сборки:
- System.Windows.Interactivity
- Microsoft.Expression.Interactivity
Затем в определение namespace'ов нашей XAML-странички добавляем 2 ссылки:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"А теперь осталось написать переход на другую страничку чистым XAML :)
Теперь не нужно делать много однотипных code-behind операций и жить станет несколько проще :)<Button Text="Go!"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <ic:NavigateToPageAction TargetPage="/SomePage.xaml" /> </i:EventTrigger> </i:Interaction.Triggers> </Button>
Комментариев нет:
Отправить комментарий