私のWindows 10 UWPアプリケーションでは、ナビゲーションハンバーガーメニューにMainPageを使用しています。他のすべてのページは、MyFrameというMainPageのフレームに読み込まれます。次のコードでは、このフレーム内のバックナビゲーションは完璧に動作します:フレーム内のwebviewのナビゲーションは可能ですか?
private void MainPage_BackRequested(object sender, BackRequestedEventArgs e)
{
if (MyFrame.CanGoBack)
{
MyFrame.GoBack();
e.Handled = true;
}
}
は、しかし、それらのページの1がWebViewのが含まれています。このページが読み込まれると、GoBackイベントを実行するためにフレームの代わりにWebviewが必要になります。
WebViewのCanGoBackプロパティにMainPageからアクセスできますか?
編集:maybe works like this?
private void MainPage_BackRequested(object sender, BackRequestedEventArgs e)
{
if (MyFrame.Content == typeof(Web))
{
get state of the Webview "SearchURI" here and handle the GoBack event
}
else if (MyFrame.CanGoBack)
{
MyFrame.GoBack();
e.Handled = true;
}
}
可能です。バックプレスされたイベントはアプリ全体に適用されます。したがって、これは購読方法によって異なります。あなたはこのイベントにどのようにそしてどこで購読するのですか? – Romasz
通常、バックイベントでWebViewを開いたことを認識する必要があります。フラグまたは他のサブスクリプションでイベントを認識し、e.Handledをtrueに設定し、それ以外のイベントですでに処理されているかどうかを確認する必要があります。また、WebViewページを離れると、動作を元に戻すことを忘れないでください。 – Romasz
WebViewを含むページは「Web」と呼ばれます。私は多分、このようなもので、MyFrame.GoBackイベントをSUPRESSする必要があります。 ます。private void MainPage_BackRequested(オブジェクト送信者、BackRequestedEventArgs E) { (MyFrame.Content == typeof演算(ウェブ)) { 内部のナビゲーションをバック行う場合WebView "SearchURI"ここに } else if(MyFrame.CanGoBack) { MyFrame.GoBack(); e.Handled = true; } } – Sebastian