UriMapper가있는 프레임을 포함하는 UserControl이 있습니다. 이것은 또한 내 RootVisual이기 때문에 응용 프로그램이로드 될 때로드되는 내용입니다. 이것은 내 단순화 된 XAML입니다.네비게이션 프레임이 포함 된 Silverlight UserControl에서 NavigationService를 호출하십시오.
<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();
내가 페이지 (페이지 1과 페이지 2)에서 NavigationService를 호출 할 수 있습니다 전화하고 싶지만, 내가 어떻게 NavigationService이 '부모'UserControl에서 호출 할 수 있습니다? 가능한가? 이 UserControl에서 NavigationService는 항상 null입니다.
프레임에 표시된 페이지에서 NavigationService에 액세스하거나 버튼 클릭 이벤트를이 페이지로 전달하려고합니다.
각 페이지에 버튼을 배치하고 탐색을 처리하고 싶지 않습니다.