public static TileContent GenerateTileContent() { TileContentBuilder builder = new TileContentBuilder(); // Small Tile builder.AddTile(Notifications.TileSize.Small) .SetTextStacking(TileTextStacking.Center, Notifications.TileSize.Small) .AddText("Mon", Notifications.TileSize.Small, hintStyle: AdaptiveTextStyle.Body, hintAlign: AdaptiveTextAlign.Center) .AddText("63°", Notifications.TileSize.Small, hintStyle: AdaptiveTextStyle.Base, hintAlign: AdaptiveTextAlign.Center); // Medium Tile builder.AddTile(Notifications.TileSize.Medium) .AddAdaptiveTileVisualChild( new AdaptiveGroup() { Children = { GenerateSubgroup("Mon", "Mostly Cloudy.png", 63, 42), GenerateSubgroup("Tue", "Cloudy.png", 57, 38) } }, Notifications.TileSize.Medium); // Wide Tile builder.AddTile(Notifications.TileSize.Wide) .AddAdaptiveTileVisualChild( new AdaptiveGroup() { Children = { GenerateSubgroup("Mon", "Mostly Cloudy.png", 63, 42), GenerateSubgroup("Tue", "Cloudy.png", 57, 38), GenerateSubgroup("Wed", "Sunny.png", 59, 43), GenerateSubgroup("Thu", "Sunny.png", 62, 42), GenerateSubgroup("Fri", "Sunny.png", 71, 66) } }, Notifications.TileSize.Wide); // Large tile builder.AddTile(Notifications.TileSize.Large, GenerateLargeTileContent()); // Set the base URI for the images, so we don't redundantly specify the entire path builder.Content.Visual.BaseUri = new Uri("Assets/NotificationAssets/", UriKind.Relative); return(builder.Content); }
/// <summary> /// Method which sends a tile update. /// </summary> /// <param name="text">The text of the notification</param> public static void SendTileNotification(string text) { TileContentBuilder builder = new TileContentBuilder(); builder.AddTile(TileSize.Medium) .SetBranding(TileBranding.Logo) .SetTextStacking(TileTextStacking.Center, TileSize.Medium) .AddText(text, TileSize.Medium, AdaptiveTextStyle.Default, hintWrap: true, hintAlign: AdaptiveTextAlign.Center); builder.AddTile(TileSize.Wide) .SetBranding(TileBranding.Logo) .SetTextStacking(TileTextStacking.Center, TileSize.Wide) .AddText(text, TileSize.Wide, AdaptiveTextStyle.Body, hintWrap: true, hintAlign: AdaptiveTextAlign.Center); builder.AddTile(TileSize.Large) .SetBranding(TileBranding.Logo) .SetTextStacking(TileTextStacking.Center, TileSize.Large) .AddText(text, TileSize.Large, AdaptiveTextStyle.Body, hintWrap: true, hintAlign: AdaptiveTextAlign.Center); TileUpdateManager.CreateTileUpdaterForApplication().Update(new TileNotification(builder.Content.GetXml())); }
public static TileContent GenerateTileContent(string username, string avatarLogoSource) { var builder = new TileContentBuilder(); // Medium Tile built using only builder method. builder.AddTile(Notifications.TileSize.Medium) .SetPeekImage(new Uri(avatarLogoSource, UriKind.Relative), Notifications.TileSize.Medium, hintCrop: TilePeekImageCrop.Circle) .SetTextStacking(TileTextStacking.Center, Notifications.TileSize.Medium) .AddText("Hi,", Notifications.TileSize.Medium, hintStyle: AdaptiveTextStyle.Base, hintAlign: AdaptiveTextAlign.Center) .AddText(username, Notifications.TileSize.Medium, hintStyle: AdaptiveTextStyle.CaptionSubtle, hintAlign: AdaptiveTextAlign.Center); // Wide Tile using custom-made layout. builder.AddTile(Notifications.TileSize.Wide) .AddAdaptiveTileVisualChild(GenerateWideTileContent(username, avatarLogoSource), Notifications.TileSize.Wide); // Large Tile using custom-made layout conjunction with builder helper method builder.AddTile(Notifications.TileSize.Large) .AddAdaptiveTileVisualChild(CreateLargeTileLogoPayload(avatarLogoSource), Notifications.TileSize.Large) .AddText("Hi,", Notifications.TileSize.Large, hintAlign: AdaptiveTextAlign.Center, hintStyle: AdaptiveTextStyle.Title) .AddText(username, Notifications.TileSize.Large, hintAlign: AdaptiveTextAlign.Center, hintStyle: AdaptiveTextStyle.SubtitleSubtle); return(builder.Content); }
public void AddTextTest_OnLargeTileOnly() { // Arrange string text = "text on large tile"; TileContentBuilder builder = new TileContentBuilder(); builder.AddTile(TileSize.Large); // Act builder.AddText(text); // Assert var tileText = GetTileAdaptiveText(builder, TileSize.Large); Assert.IsNotNull(tileText); Assert.AreSame("text on large tile", (string)tileText.Text); }