2014-02-17 54 views
1

我需要更新Windows Phone 8應用程序中幾個輔助磁貼的數據。我正在使用BackGround代理來更新切片。如何在Windows Phone 8應用程序中使用後臺代理更新多個輔助圖塊?

IconicTileData tileData = new IconicTileData 
     { 
      IconImage = new Uri("ApplicationIcon.png", UriKind.RelativeOrAbsolute), 
      Title = "My Tile title", 
      Count = new Random().Next(1, 10), 
     }; 

     ShellTile mainTile = ShellTile.ActiveTiles.FirstOrDefault(); 
     if (mainTile != null) 
     { 
      mainTile.Update(tileData); 
     } 

     // If debugging is enabled, launch the agent again in one minute. 
#if DEBUG_AGENT 
    ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60)); 
#endif 

這裏是更新mainTile數據。但是,我怎樣才能找到有多少次要貼圖以及如何分別更新它們?

回答

1

Frok MSDN documentation對於ShellTile.ActiveTiles:此列表包含無法刪除的應用程序磁貼及其所有輔助磁貼。 Application Tile始終是該集合中的第一個。

所以:

foreach (var tile in ShellTile.ActiveTiles) 
{ 
    //update the tile 
} 
+0

這很好,但如何識別每個瓷磚?就像第一塊瓷磚有一個數據,第二塊有另一個! –

+0

所以看看'tile'變量,使用調試器,顯示一些努力 –

+0

我試過了你說的,但是我找不到在tile上找到數據的方法。請幫忙 –

0

正如你所知道每個區塊有一些導航URI.You可以搜索導航URI的查詢字符串唯一字。

ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("unique key/value in querystring")); 

通過這種方式,您可以通過迭代遍歷它們並檢查導航URI來識別所有次要切片。

相關問題