탐색 프레임이 포함 된 Silverlight UserControl에서 NavigationService를 호출합니다
-
09-12-2019 - |
문제
i URImapper가있는 프레임이 포함 된 UserControl이 있습니다.이것은 또한 내 뿌리이므로 응용 프로그램이로드 될 때로드 된 것이므로로드됩니다.이것은 내 (단순화 된) xaml : 입니다.
<UserControl>
<navigation:Frame x:Name="ContentFrame" Source="/Page1">
<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>
<HyperlinkButton x:Name="Page1Link" NavigateUri="/Page1" TargetName="ContentFrame" Content="Page1"/>
<HyperlinkButton x:Name="Page2Link" NavigateUri="/Page2" TargetName="ContentFrame" Content="Page2"/>
</UserControl>
.
이 모든 것은 훌륭하게 작동하지만 이제는 뒤로 버튼을 추가하고 싶습니다.사용자가 버튼을 클릭하면 를 호출하고 싶습니다.
NavigationService.GoBack();
.
페이지에서 NavigationService (Page1 및 Page2)를 호출 할 수 있지만이 '상위'UserControl에서 NavigationService를 호출하려면 어떻게해야합니까?가능합니까?이 userControl에서는 navigationService가 항상 null입니다.
프레임에 표시된 페이지에서 NavigationService에 액세스하거나 버튼 클릭 이벤트를이 페이지에 전달하고 싶습니다.
각 페이지에 버튼을 넣고 탐색을 처리해야합니다.
해결책
를 사용해보십시오
ContentFrame.Navigate(YOUR_URI);
.
및
ContentFrame.GoBack();
.
x : name="contentframe"탐색 프레임이 들어있는 상위 사용자 컨트롤의 .
제휴하지 않습니다 StackOverflow