簡體   English   中英

按下后退按鈕時如何轉到Windows Phone 8中的上一頁

[英]How to go to previous page in windows phone 8 when back button is pressed

我在基於Windows Phone C#的應用程序中有一個主頁或登錄頁面,用戶在其中輸入登錄詳細信息,並在成功登錄后將用戶重定向到page2。 在這里,用戶將看到一個包含很少項目的列表框。 從此列表框中選擇一項后,將打開一個名為“ Threadx”的新頁面。(其中x是單擊列表框中的x項目時打開的每個頁面)

當用戶在該線程頁面“ Threadx”上時,他可能會收到敬酒通知,並且該線程將使用該線程上的新答復或答案進行更新。

但是,當用戶單擊“后退”按鈕時,“ ThreadX”頁面不會關閉,而是會轉至其以前的狀態,在該狀態中,消息數量較少,依此類推,直到應用程序關閉。

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        if (e.NavigationMode == NavigationMode.Back)
        {
            return;
        }
    }

我想知道是否可以在單擊“后退”按鈕時關閉“ Threadx”頁面,而不會影響其他“ Threadx + 1”,“ Threadx + 2” ...“ Threadx + n”頁面。

任何幫助將非常感激。

通常,當您離開頁面並導航到另一頁面時,窗口會將頁面保留在堆棧中。 如果要通過按“后退”按鈕導航到上一頁,可以執行以下操作:

OnNavigatedTo添加到OnNavigatedTo方法:

Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

HardwareButtons_BackPressed方法添加定義:

    private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
    {
        e.Handled = true;
        if (Frame.CanGoBack)
            Frame.GoBack();
    }

不要忘記將Windows.Phone.UI.Input添加到名稱空間列表。

我得到它的另一種方法是在我的“線程”頁面的onnavigateto方法中使用以下代碼,並且對我有用。 讓我知道是否有優雅的方法或更好的方法。

if (e.NavigationMode == NavigationMode.Back)
         {
             NavigationService.Navigate(new Uri("/View/Page2.xaml", UriKind.Relative));
         }

暫無
暫無

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

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