[筆記] C# Windows Phone 8 WP8,解決再ScheduledAgent中無法使用【ShellTile.ActiveTiles.First()】檢查動態磚。

  • 2248
  • 0
  • C#
  • 2015-06-10

一般我們在開發Windows Phone App,很常使用動態磚來呈現重要的資訊,並且使用背景服務來更因動態磚,誰叫他是"動態"磚,資料若是死的就沒意義了,所以我們會透過ScheduledAgent的背景任務來幫我們在背後幫忙更新動態磚,可是在ScheduledAgent怎麼就沒辦法使用ShellTile.ActiveTiles.First()的方法來檢查動態專了呢?

本篇文章將引導您解決解決再ScheduledAgent中無法使用【ShellTile.ActiveTiles.First()】檢查動態磚的問題。

一般我們在開發Windows Phone App,很常使用動態磚來呈現重要的資訊,並且使用背景服務來更因動態磚,誰叫他是"動態"磚,資料若是死的就沒意義了,所以我們會透過ScheduledAgent的背景任務來幫我們在背後幫忙更新動態磚,可是在ScheduledAgent怎麼就沒辦法使用ShellTile.ActiveTiles.First()的方法來檢查動態專了呢?

 

本篇文章將引導您解決解決再ScheduledAgent中無法使用【ShellTile.ActiveTiles.First()】檢查動態磚的問題。

 

一般來說我們Windows Phone 的專案中會使用以下方法來檢查動態磚並且更新

 

   1:  //判斷是否已經有被釘選到開始畫面了
   2:  ShellTile appTile = ShellTile.ActiveTiles.First();
   3:  if (appTile != null)
   4:  {
   5:      FlipTileData appTileData = new FlipTileData()
   6:      {
   7:          Title = "",
   8:          BackgroundImage = tile_image,
   9:          BackTitle = "",
  10:          BackBackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileMedium.png", UriKind.RelativeOrAbsolute)
  11:      };
  12:      appTile.Update(appTileData);
  13:  }

 

可是若要在背景任務下更新動態磚,就必須在方案底下新增一個ScheduledAgent的專案,

在專案中ScheduledAgent的OnInvoke底下來更新動態磚,可是怎麼就無法使用ShellTile.ActiveTiles.First()了呢?

 

image

 

不用擔心 其實我們只要換一個寫法就可以囉,山不轉路轉!!

透過IEnumerator把第一項給抽取出來就可以囉!!

 

   1:  //判斷是否已經有被釘選到開始畫面了
   2:  IEnumerator<ShellTile> it = ShellTile.ActiveTiles.GetEnumerator();
   3:  it.MoveNext();
   4:  ShellTile appTile = it.Current;
   5:  if (appTile != null)
   6:  {
   7:      FlipTileData appTileData = new FlipTileData()
   8:      {
   9:          Title = "",
  10:          BackgroundImage = tile_image,
  11:          BackTitle = "",
  12:          BackBackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileMedium.png", UriKind.RelativeOrAbsolute)
  13:      };
  14:      appTile.Update(appTileData);
  15:  }

 

如此一來我們在ScheduledAgent的背景任務下也可以檢查並更新動態磚了!!

 

相關議題:

C# Windows Phone 8 WP8,自定義FlipTile動態磚樣式,用Xaml創建動態磚樣式!

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR