2013-12-18 29 views
1

這裏有一些代碼在我的Windows Phone應用程序的我的ScheduledTaskAgent中執行,如果執行此代碼,則會顯示一些數據。更新實時平鋪計數並在每次更新實時平鋪時添加+1來計算

我在這段代碼之前做了一個比較,並且只有在有新數據時才執行。

現在我不知道如何添加每一次實時瓦片更新+1(一)INT到我使用的FlipTile的計數。這是我的代碼:

ShellTile appTile = ShellTile.ActiveTiles.First(); 
         if (appTile != null) 
         { 
          FlipTileData TileData = new FlipTileData() 
          { 
           Title = "", 
           BackTitle = "my App", 
           BackContent = title.Collection.ElementAt(0).Title.ToString(), 
           WideBackContent = title.Collection.ElementAt(0).Title.ToString(), 
           Count = ,  //????? 
          }; 


          appTile.Update(TileData); 

如何執行此代碼後再次計數一次?

我真的沒有線索。我嘗試+1,但它的int,它不會給這個+1到下一個活動瓷磚更新,所以計數應該是2.

我必須說,ScheduledTaskAgent完成其工作,然後它的一個新實例被稱爲,所以我認爲首先在count中調用的值必須保存,然後在下次調用時檢索並將其添加到+1。但是如何?

回答

1

我今天發現了一種易於使用的溶劑。我使用隔離存儲來保存計數的數量,並給它每次更新+1,然後再次保存新的數字(舊+ 1)=新數字等等:)這是我現在使用的代碼。它可以在ScheduledTaskAgent中完美地更新Live Tile。

ShellTile appTile = ShellTile.ActiveTiles.First(); 
         if (appTile != null) 
         { 
          if (IsolatedStorageSettings.ApplicationSettings.Contains("LiveTileCount")) 
          { 
           int count = (int)IsolatedStorageSettings.ApplicationSettings["LiveTileCount"]; 
           FlipTileData TileData = new FlipTileData() 
           { 
            Count = count +1, 
           }; 

           IsolatedStorageSettings settings2 = IsolatedStorageSettings.ApplicationSettings; 
           if (!settings2.Contains("LiveTileCount")) 
           { 
            settings2.Add("LiveTileCount", TileData.Count); 
           } 
           else 
           { 
            settings2["LiveTileCount"] = TileData.Count; 
           }; 
           settings2.Save(); 
          } 
          else 
          { 
           FlipTileData TileData = new FlipTileData() 
           { 
            Count = 1, 
           }; 

           IsolatedStorageSettings settings2 = IsolatedStorageSettings.ApplicationSettings; 
           if (!settings2.Contains("LiveTileCount")) 
           { 
            settings2.Add("LiveTileCount", TileData.Count); 
           } 
           else 
           { 
            settings2["LiveTileCount"] = TileData.Count; 
           }; 
           settings2.Save(); 
          } 
         } 
         else 
         { 
          NotifyComplete(); 
         } 
        } 
        else 
        { 
         NotifyComplete(); 
        }