탐색 프레임이 포함 된 Silverlight UserControl에서 NavigationService를 호출합니다

StackOverflow https://stackoverflow.com//questions/9622993

  •  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"탐색 프레임이 들어있는 상위 사용자 컨트롤의

.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top