ナビゲーションフレームを含むSilverlight UserControlからNavigationServiceを呼び出します

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

  •  09-12-2019
  •  | 
  •  

質問

URIMAPPERのフレームを含むUserControlを持っています。これは私のrootvisualであるので、アプリケーションがロードされたときにロードされているものです。これは私の(単純化された)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を呼び出すことができますが、この 'Parent' UserControlからNavigationServiceを呼び出すにはどうすればよいですか。出来ますか?このUserControlでは、NavigationServiceは常にNULLです。

私はフレームに表示されているページからNavigationServiceにアクセスするか、またはこれらのページをクリックイベントを渡します。

各ページにボタンを入れる必要があり、そこにナビゲーションを処理していただきません。

役に立ちましたか?

解決

を使ってみてください

ContentFrame.Navigate(YOUR_URI);
.

ContentFrame.GoBack();
.

x:name="contentFrame"を含むナビゲーションフレームを含むあなたの親ユーザーコントロール。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top