![](/img/trans.png)
[英]Best approach to pass data back to previous page when go back in Windows Phone
[英]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.