天天看點

【萬裡征程——Windows App開發】使用Toast通知

前面我們使用了 messagedialog來作為彈窗,這裡來介紹一個更加高大上的toast通知。

toast通知本質上動力是由xml來提供的,一開始我還不相信不知道xml原來有這麼大的威力。現在就來看看和toast相關的知識。

1)執行個體化toastnotification類。

2)使用toastnotificationmanager來管理toast通知,包括添加、展示、移除、擷取通知等等。

3)在第一步中的xdoc就是一段xml資料,它從何而來呢?

4)上一步代碼執行個體化了一個xml,但是它沒有資料呀,資料從哪來呢?

5)這段代碼就将一段text導入了xml中。而text資料有很多種擷取方式。在下文中自然會提到。

toast的xml模闆有許多,我們可以直接來擷取它們。用枚舉和強大的var即可。

那麼就正式開工了,因為重複的屬性太多了我就大概設定了2個style資源。

下面是第一部分用于生成toast通知。

背景代碼也蠻容易的,利用上面講的就好了。

模闆是這樣用的……

【萬裡征程——Windows App開發】使用Toast通知
【萬裡征程——Windows App開發】使用Toast通知

在src中填入圖檔的路徑也可以在toast中顯示圖像哦,趕緊試試吧……

接下來是第二段啦,和前面的很是類似……

上面代碼中的“ms-winsoundevent:notification.default”都是填到src中的用于設定聲音,還可以在loop、silent中設定是否循環以及是否靜音,那到底該怎麼用呢?應該将這些屬性全部都填入到xml中。

上面用的xmlcontent也要先定義出來,一開始設定為empty就好。

isloop和issilent屬性都可以借助于三目運算符在checkbox中擷取來。

當然,考慮得更加周到些,使用者可以在還沒有輸入通知内容就點了顯示toast通知按鈕,對此用三目運算符也是極好的選擇。

這些準備工作都寫好了以後呢就該設定toast通知了,和上面的toast1類似哦,大家試試。

可是這些通知都沒有時間性可言,因為有時候我們需要定在一個時間來執行toast通知。這自然也是可以實作的。

先作如下界面設計。

背景代碼如下。

在這個小程式中因為側重于講解定時而非toast的通知樣式,是以就選用了比較簡單的toasttext01模闆。而後找出text節點,并向該節點寫入内容。最後就是建立toast通知了。

同樣為了防止使用者沒有在textbox中輸入時間或輸入了錯誤格式的時間比如“5秒”而做了try、catch異常檢測。當然了,在實際産品中,這裡可就要做得更加完美了,時間用textbox來輸入并不是一件好事,而應用我們前面介紹的timepicker。

給這3段程式來張全家福吧~

【萬裡征程——Windows App開發】使用Toast通知

相關源碼我已經上傳,不需要積分。

傳送門:toast通知源碼

感謝您的通路,希望對您有所幫助。 歡迎大家關注、收藏以及評論。

我的更多部落格文章:nomasp部落格導讀

為使本文得到斧正和提問,轉載請注明出處:

http://blog.csdn.net/nomasp