Навигационные рамки в серебристом свете - PullRequest
0 голосов
/ 07 июня 2011

В рамках навигации silverlight, как перейти на страницу xaml с mainpage.xaml? В моем сценарии у меня есть пункты меню и мне нужно перейти на страницу xaml соответствующего пункта меню по щелчку меню.

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Решение: - На страницах xaml, которые относятся к типу usercontrols, навигация может осуществляться путем добавления рамок навигации на странице xaml.

Ex: - Xaml Page

<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
                              Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed">
                <navigation:Frame.UriMapper>
                    <uriMapper:UriMapper>
                        <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
                        <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
                    </uriMapper:UriMapper>
                </navigation:Frame.UriMapper>
            </navigation:Frame>

In .cs page

ContentFrame.Navigate(new Uri("URIPATH", UriKind.Relative));

// где URIPATH - класс, к которому требуется навигация

1 голос
/ 07 июня 2011

Вы можете зарегистрировать переменную NavigationService при запуске в файле App.xaml.cs.Присвойте переменную при первом посещении страницы, на которой размещен навигационный фрейм - вы получаете NavigationService из элемента управления фреймом.

В вашем меню usercontrol вы можете получить доступ к NavigationService в пространстве имен приложения: ((MyApp) App) .NavigationService

...