[英]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
上有兩種方法可以覆蓋和清除緩存: OnNavigatedTo
和OnNavigatedFrom
。
我建議在NavigatedTo()方法中使用以下代碼:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
while (NavigationService.RemoveBackEntry() != null);
}
希望有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.