내 Windows 10 UWP 앱에서 내비게이션 햄버거 메뉴로 MainPage를 사용합니다. 다른 모든 페이지는 MyFrame이라는 MainPage의 프레임으로로드됩니다. 다음 코드를 사용하면이 프레임 내의 뒤로 탐색이 완벽하게 작동합니다.프레임의 웹보기에서 뒤로 탐색이 가능합니까?
private void MainPage_BackRequested(object sender, BackRequestedEventArgs e)
{
if (MyFrame.CanGoBack)
{
MyFrame.GoBack();
e.Handled = true;
}
}
그러나 이러한 페이지 중 하나에는 WebView가 포함되어 있습니다. 이 페이지가로드되면 GoBack 이벤트를 수행하기 위해 프레임 대신 웹보기를 원합니다.
어떻게하면 WebView의 CanGoBack 속성에 MainPage에서 액세스 할 수 있습니까?
편집 : 아마도이 기능이 작동할까요?
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
일반적으로 Back 이벤트에서 WebView를 열었다는 사실을 인식해야합니다. 플래그 또는 다른 구독으로 이벤트를 처리하고 e.Handled를 true로 설정 한 다음 다른 이벤트에서 이미 처리되었는지 확인해야합니다. 또한 WebView 페이지를 떠나면 다시 동작을 변경해야합니다. – Romasz
WebView가 포함 된 페이지를 "웹"이라고합니다. 나는 어쩌면이 같은과 함께 MyFrame.GoBack 이벤트를이 표시되지 않도록 있습니다 개인 무효 MainPage_BackRequested (개체를 보낸 사람, BackRequestedEventArgs 전자) { (MyFrame.Content == 대해서 typeof (웹)) { 내부 탐색을 다시 할 경우 WebView "SearchURI"여기에 } else if (MyFrame.CanGoBack) { MyFrame.GoBack(); e.Handled = true; } } – Sebastian