2013-12-18 2 views
1

이 코드가 실행되면 내 ScheduledTaskAgent 내 Windows Phone 앱에서 실행되는이 작은 코드가 여기에 있습니다. 표시 할 데이터가 있습니다. .라이브 타일 수를 업데이트하고 라이브 타일이 업데이트 될 때마다 +1에 추가하십시오.

이 코드를 비교하기 전에 새로운 데이터가있는 경우에만 실행합니다.

이제 라이브 타일 업데이트 +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 타일을 다음 타일 업데이트에 넘겨주었습니다.

ScheduledTaskAgent 작업을 마친 후 새 인스턴스를 호출해야합니다. , 그래서 나는 count에서 처음으로 호출 된 값을 저장해야한다고 생각하고 다음 호출에서 검색하고 +1에 추가한다고 생각합니다. 하지만 어떻게?

답변

1

오늘은 쉽게 해결할 수있는 방법을 발견했습니다. 나는 고립 된 기억 장치를 이용하여 카운트 수를 저장하고 +1을 업데이트 할 때마다 새로운 번호 (old + 1) = 새로운 번호를 저장한다. :) 이것은 지금 사용하는 코드이다. . 그리고 ScheduledTaskAgent에서 완벽하게 작동하여 라이브 타일을 업데이트합니다.

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(); 
        } 
관련 문제