2012-01-23 72 views
2

我正在使用wp7上的應用程序。當退出應用程序時提示確認對話框

我希望當用戶退出應用程序時提示一個確認對話框(按回按鈕)。

可能嗎?

歡迎任何評論

+0

你有一個很好的**需要提示的理由?因爲正如保羅在下面的回答中所說的那樣,你不會因任何其他原因(任何通知,或者開始或搜索按鈕)而被提示導航。大多數後面提示的應用程序讓我煩惱。 –

+1

我明白爲什麼提示的能力在那裏......很多次我深入瞭解一個應用程序,然後回擊了很多次,因爲我想回到應用程序的首頁。我不止一次發現自己退出了沒有打算的應用程序。 –

+1

是的,這很容易。但是,考慮到您已經添加了一些關於將iOS代碼移植到WP7的問題,如果您在每次想要編寫代碼時都要求StackOverflow,那麼編寫應用程序將需要很長時間。我會推薦閱讀WP7開發中完全優秀的免費電子書之一。這一個是太棒了:[免費電子書:編程的Windows Phone 7,通過Charles Petzold](http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone -7-by-charles-petzold.aspx) – ColinE

回答

5

請處理在應用程序的頁面來處理返回鍵按下BackKeyPress按鈕。

在元素Page.xaml文件中添加以下代碼

BackKeyPress="PhoneApplicationPage_BackKeyPress" 

它應該看起來像

<phone:PhoneApplicationPage BackKeyPress="PhoneApplicationPage_BackKeyPress" 
..//other attributes .. > 

在事件處理程序中編寫的代碼如下

private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e) 
     { 
      MessageBoxResult mb = MessageBox.Show("You want exit the page", "Alert", MessageBoxButton.OKCancel); 

      if(mb != MessageBoxResult.OK) 
      { 
       e.Cancel = true; 
      } 

     } 
+0

我們可以提示鏈接給用戶嗎? – Apoorva

+0

你可以在鏈接文本按鈕的幫助下或鏈接消息框文本中提示鏈接,然後按(在消息框中爲OK),使用browsertask打開鏈接。示例browsertask用戶如下WebBrowserTask wtb = new WebBrowserTask(); wtb.Uri = new Uri(「http://www.google.com」,UriKind.Absolute); wtb.Show(); – Santhu

1

有可能趕上當用戶退出按後退按鈕,但它是不可能的,當用戶按下硬件啓動按鈕或搜索按鈕來停止從正在取得「休眠」的應用。

+0

當應用程序變成TombStoned時,你可以得到通知,但是你當然不能取消那個動作,但是反正也不是問題 –

1

您可以在後退按鍵事件中按設置e.Cancel停止導航。

MainPage.xaml.cs構造:

OnBackKeyPress += (s, e) => 
{ 
    if (MessageBox.Show("", "", MessageBoxButtons.OkCancel) == MessageBoxButtons.Cancel) 
    { 
     e.Cancel = true; 
    }; 
}; 
+0

您可以替代地重寫OnBackKeyPress方法,如下所示:http://grogansoft.com/blog/?p=572 –

相關問題