Update() public method

public Update ( [ notification ) : void
notification [
return void
        // Initialize the app's tiles on the Start page. There are three different sizes of tiles users can
        // choose from.
        private void InitializeTiles()
        {
            tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
            var mediumSquareTile = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150PeekImageAndText01);
            var largeSquareTile = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare310x310ImageAndText02);
            var wideTile = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150PeekImage02);

            tileUpdater.EnableNotificationQueue(true);

            mediumSquareTile.GetElementsByTagName("text")[0].InnerText = "TicTacToe";
            largeSquareTile.GetElementsByTagName("text")[0].InnerText = "TicTacToe";
            wideTile.GetElementsByTagName("text")[0].InnerText = "TicTacToe";

            var node1 = wideTile.ImportNode(mediumSquareTile.GetElementsByTagName("binding")[0], true);
            wideTile.GetElementsByTagName("visual")[0].AppendChild(node1);

            var node2 = wideTile.ImportNode(largeSquareTile.GetElementsByTagName("binding")[0], true);
            wideTile.GetElementsByTagName("visual")[0].AppendChild(node2);

            var testNotification = new TileNotification(wideTile);
            testNotification.Tag = "Test";
            tileUpdater.Update(testNotification);

            badgeUpdater = BadgeUpdateManager.CreateBadgeUpdaterForApplication();

        }
Exemplo n.º 2
0
        /// <summary>
        /// 刷新磁贴
        /// </summary>
        /// <param name="updator">传入更新类型参数:应用磁贴,二级磁贴</param>
        private void UpdateTile(TileUpdater updator)
        {
            updator.Clear();
            updator.EnableNotificationQueue(true);

            XmlDocument tile = new XmlDocument();
            foreach (var item in gridNameDict)
            {
                tile = Windows.UI.Notifications.TileUpdateManager.GetTemplateContent(item.Key.Value);
                var imageElement = tile.GetElementsByTagName("image")[0];
                imageElement.Attributes.GetNamedItem("src").NodeValue = "ms-appdata:///local/" + item.Key.Key + this.title??"" + ".png";
                var notification = new Windows.UI.Notifications.TileNotification(tile);
                updator.Update(notification);
            }
        }
        private void ScheduleTileUpdate(DateTime baseTime, TimeSpan shift, TileUpdater tileUpdater, ClockFormat clockFormat)
        {
            var shiftedTime = baseTime.Add(shift);
            var interval = 60/_baseDateTimes.Count();
            var i = 0;
            var calculatedCitiesInfo = _baseDateTimes.Select(c => new CalculatedCityInfo { CityInfo = c.Key, DestinationTime = c.Value.Add(shift) }).ToList();
            foreach (var info in calculatedCitiesInfo)
            {
                var tileXmlNow = GetTileUpdateMessage(info, calculatedCitiesInfo, _baseDateTimes.Count(), clockFormat);
                var document = new XmlDocument();
                document.LoadXml(tileXmlNow);

                var deliveryTime = shiftedTime.AddSeconds(i * interval);
                if (deliveryTime <= DateTime.Now)
                {
                    tileUpdater.Update(new TileNotification(document) { ExpirationTime = shiftedTime.AddSeconds(interval) });
                }
                else
                {
                    var scheduledNotification = new ScheduledTileNotification(document, deliveryTime) { ExpirationTime = deliveryTime.AddSeconds(interval) };
                    tileUpdater.AddToSchedule(scheduledNotification);
                }
                i++;
            }
        }