void UpdateTileExpiring_Click(object sender, RoutedEventArgs e) { int seconds; if (!Int32.TryParse(Time.Text, out seconds)) { seconds = 10; } Windows.Globalization.Calendar cal = new Windows.Globalization.Calendar(); cal.SetToNow(); cal.AddSeconds(seconds); var longTime = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime"); DateTimeOffset expiryTime = cal.GetDateTime(); string expiryTimeString = longTime.Format(expiryTime); ITileWideText04 tileContent = TileContentFactory.CreateTileWideText04(); tileContent.TextBodyWrap.Text = "This notification will expire at " + expiryTimeString; ITileSquareText04 squareTileContent = TileContentFactory.CreateTileSquareText04(); squareTileContent.TextBodyWrap.Text = "This notification will expire at " + expiryTimeString; tileContent.SquareContent = squareTileContent; TileNotification tileNotification = tileContent.CreateNotification(); // set the expirationTime tileNotification.ExpirationTime = expiryTime; TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification); OutputTextBlock.Text = "Tile notification sent. It will expire at " + expiryTimeString; }
void UpdateTileExpiring_Click(object sender, RoutedEventArgs e) { int seconds; if (!Int32.TryParse(Time.Text, out seconds)) { seconds = 10; } Windows.Globalization.Calendar cal = new Windows.Globalization.Calendar(); cal.SetToNow(); cal.AddSeconds(seconds); var longTime = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime"); DateTimeOffset expiryTime = cal.GetDateTime(); string expiryTimeString = longTime.Format(expiryTime); // Create a notification for the Square310x310 tile using one of the available templates for the size. ITileSquare310x310Text09 tileSquare310x310Content = TileContentFactory.CreateTileSquare310x310Text09(); tileSquare310x310Content.TextHeadingWrap.Text = "This notification will expire at " + expiryTimeString; // Create a notification for the Wide310x150 tile using one of the available templates for the size. ITileWide310x150Text04 wide310x150TileContent = TileContentFactory.CreateTileWide310x150Text04(); wide310x150TileContent.TextBodyWrap.Text = "This notification will expire at " + expiryTimeString; // Create a notification for the Square150x150 tile using one of the available templates for the size. ITileSquare150x150Text04 square150x150TileContent = TileContentFactory.CreateTileSquare150x150Text04(); square150x150TileContent.TextBodyWrap.Text = "This notification will expire at " + expiryTimeString; // Attach the Square150x150 template to the Wide310x150 template. wide310x150TileContent.Square150x150Content = square150x150TileContent; // Attach the Wide310x150 template to the Square310x310 template. tileSquare310x310Content.Wide310x150Content = wide310x150TileContent; TileNotification tileNotification = tileSquare310x310Content.CreateNotification(); // Set the expiration time and update the tile. tileNotification.ExpirationTime = expiryTime; TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification); rootPage.NotifyUser("Tile notification sent. It will expire at " + expiryTime, NotifyType.StatusMessage); }
private async void ButtonSendNotification_Click(object sender, RoutedEventArgs e) { base.IsEnabled = false; try { if (_tileId == null) { await new MessageDialog("No secondary tile was pinned. In the previous step, you had to pin the tile.", "Error").ShowAsync(); return; } SecondaryTile tile = (await SecondaryTile.FindAllAsync()).FirstOrDefault(i => i.TileId.Equals(_tileId)); if (tile == null) { await new MessageDialog("The secondary tile that was previously pinned could not be found. Has it been removed from Start?", "Error").ShowAsync(); return; } // Decide expiration time Windows.Globalization.Calendar cal = new Windows.Globalization.Calendar(); cal.SetToNow(); cal.AddSeconds(20); // Get expiration time and date var longTime = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime"); DateTimeOffset expiryTime = cal.GetDateTime(); string expiryTimeString = longTime.Format(expiryTime); // Create the custom tile that will expire string tileXmlString = "<tile>" + "<visual>" + "<binding template='TileMedium'>" + "<text hint-wrap='true'>This notification will expire at " + expiryTimeString + "</text>" + "</binding>" + "<binding template='TileWide'>" + "<text hint-wrap='true'>This notification will expire at " + expiryTimeString + "</text>" + "</binding>" + "<binding template='TileLarge'>" + "<text hint-wrap='true'>This notification will expire at " + expiryTimeString + "</text>" + "</binding>" + "</visual>" + "</tile>"; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(tileXmlString); // Create the notification TileNotification notifyTile = new TileNotification(xmlDoc); // Set expiration time for the notification notifyTile.ExpirationTime = expiryTime; // And send the notification to the tile TileUpdateManager.CreateTileUpdaterForSecondaryTile(tile.TileId).Update(notifyTile); } catch (Exception ex) { await new MessageDialog(ex.ToString(), "Error updating tile").ShowAsync(); } finally { base.IsEnabled = true; } }