在windows phone開發中,可以使用messagebox.show()方法實作消息提醒,不過界面實在很醜陋,而且在每次彈出後需要使用者點選确認按鈕才會消失。相比之下,windows phone SDK中自帶的toast方法很好,可惜toast是需要與伺服器進行互動的,不能在本地像messagebox那樣随意調用。好在coding4fun這個類庫實作了本地的ToastPrompt
在windows phone開發中,可以使用messagebox.show()方法實作消息提醒,不過界面實在很醜陋,而且在每次彈出後需要使用者點選确認按鈕才會消失。相比之下,windows phone SDK中自帶的toast方法很好,可惜toast是需要與伺服器進行互動的,不能在本地像messagebox那樣随意調用。好在coding4fun這個類庫實作了本地的ToastPrompt控件,這樣就很友善了。
首先看效果圖,如下所示,點選按鈕能觸發上方彈出框,這裡隻是本地調用而已:(代碼示例在這裡下載下傳: http://www.windowsphonegeek.com/upload/articles/WP7SampleProject20.zip)
為了實作這樣的效果,要完成以下步驟
1、下載下傳coding4fun類庫,位址http://coding4fun.codeplex.com/
2、把下載下傳下來的檔案解壓,找到Coding4Fun.Phone.Controls.dll,建立一個dll檔案夾把其放入,并且包含進工程之中
3、在工程中添加dll的引用
4、rebuild工程,一定要記得這一步,否則運作的時候容易出現找不到assembly檔案
5、在需要使用控件的頁面背景cs代碼中添加using Coding4Fun.Phone.Controls命名空間
6、在需要使用彈出消息的事件函數中添加以下代碼(這裡我選擇的是第一個效果,其他效果代碼可以看樣例)
var toast = new ToastPrompt
{
Title = "Simple usage",
Message = "Message",
ImageSource = new BitmapImage( new Uri( "..\\ApplicationIcon.png", UriKind.RelativeOrAbsolute))
};
toast.Show();
其實很多情況下,toast并不需要包含這麼多東西,往往隻需要一個message即可,是以我使用的時候一般就這麼寫:
private void Button_Click( object sender, RoutedEventArgs e)
{
var toast = new ToastPrompt
{
Message = "釣魚島是中國的,蒼井空是世界的",
};
toast.Show();
}
最後效果圖就這樣