簡體   English   中英

Windows Phone 8:“后退”按鈕

[英]Windows Phone 8: Back Button

我是Windows Phone平台的新手。 我正在嘗試制作新聞應用程序。 在此應用程序上,用戶單擊並閱讀新聞文章,之后,用戶想返回主頁再次查看所有新聞標題,並將再次單擊其他新聞。

但是當用戶閱讀第一篇文章后返回首頁時,則單擊第二條新聞標題。 但是,當用戶導航到新頁面時,第一篇新聞文章仍然在那里。

我想問這個,用戶(閱讀第一則新聞之后)是否有任何后退按鈕,當他或她按下返回首頁時可以用來清除文章頁面的緩存?

我用了,但是沒有用。

private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
{
    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}

我在httprequest下寫了一些東西,但是它對我也沒有用。

private void LiveLongListSelector_Loaded(object sender, RoutedEventArgs e)
{
    string url = "MYWEBAPIURL&rnd=" + new Random().Next(1,1000);
    HttpWebRequest hWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
    hWebRequest.Method = "GET";
    hWebRequest.BeginGetResponse(ResponseLive_Completed, hWebRequest);
    hWebRequest.Headers[HttpRequestHeader.CacheControl] = "no-cache";
    hWebRequest.Headers[HttpRequestHeader.CacheControl] = "no-cache";
    hWebRequest.Headers["Cache-Control"] = "no-cache";
    hWebRequest.Headers["Pragma"] = "no-cache";
}

誰能幫助我找到完美的后退按鈕或其他東西?

非常感謝你

只需使用NavigationService.GoBack(); 而不是使用

NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));

它將自動清除所有捕獲。

或者您可以使用NavigationService.RemoveBackEntry(); 再次閱讀第二篇文章時。 使用類似-

int a = NavigationService.BackStack.Count();
while (a > number) //number is stack count when comes to main page first time
{
     this.NavigationService.RemoveBackEntry();
     a = NavigationService.BackStack.Count();
}

PhoneApplicationPage上有兩種方法可以覆蓋和清除緩存: OnNavigatedToOnNavigatedFrom

我建議在NavigatedTo()方法中使用以下代碼:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    while (NavigationService.RemoveBackEntry() != null);
}

希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM