2012-12-04 88 views
2

我目前正在爲我的Windows 8應用程序實現實時切片。現在我想要兩種不同的瓷磚風格(小的和放大的)。我試過這樣:使用活瓷磚的正確方法?

  var tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication(); 
      var tileUpdaterBig = TileUpdateManager.CreateTileUpdaterForApplication(); 
      tileUpdater.Clear(); 
      tileUpdaterBig.Clear(); 
      tileUpdater.EnableNotificationQueue(true); 
      tileUpdaterBig.EnableNotificationQueue(true); 

      foreach (var item in Articles) 
      { 
       var xml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04); 
       var bigXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText09); 
       var textElements = xml.GetElementsByTagName("text"); 
       var bigTextElements = bigXML.GetElementsByTagName("text"); 
       textElements[0].AppendChild(xml.CreateTextNode(item.Title)); 
       bigTextElements[0].AppendChild(bigXML.CreateTextNode(item.Title)); 
       bigTextElements[1].AppendChild(bigXML.CreateTextNode(item.Preview)); 
       var notification = new TileNotification(xml); 
       var notificationBig = new TileNotification(bigXML); 
       tileUpdater.Update(notification); 
       tileUpdaterBig.Update(notificationBig); 
      } 

這是正確的方法嗎?

此外,看起來好像只有一些數據顯示在圖塊內,而不是列表中的每個元素。

感謝您的幫助。

+0

什麼是輸出數據,什麼是輸入數據,爲什麼看起來您有兩個不同的數據源而不是單個數據源,只是顯示的方式不同?爲什麼在創建它們之後清除'tileUpdater'和'tileUpdaterBig'?這個代碼是如何精確調用的,如果它在一個方法內,那麼會很糟糕,並且會浪費處理能力(每次更新時清除瓦片)。 –

+0

標題和預覽是字符串。該方法在MainViewModel的構造函數中調用。我只是不知道如何正確使用它。我在互聯網上發現了一些片段,並試圖將它們結合起來。 – oopbase

+0

該信息雖然幫助不回答我的問題 –

回答

2

您只需要一個TileUpdater。查看this article中的代碼示例(向下滾動到「這是最終的代碼」)。

實質上,由於您不知道用戶是否已將您的圖塊放在正方形或寬格式中,因此您需要在一個有效負載中發送更新。

如果您希望最後5次更新全部滾動切片,則只應將EnableNotificationQueue設置爲true。如果您只想顯示最新更新並替換其他更新,請將其設置爲false(或者由於false爲默認設置,因此不執行任何操作)。