void SendTileNotificationWithQueryStrings_Click(object sender, RoutedEventArgs e)
        {
            ITileSquare310x310Image square310x310TileContent = TileContentFactory.CreateTileSquare310x310Image();

            square310x310TileContent.Image.Src = ImageUrl.Text;
            square310x310TileContent.Image.Alt = "Web image";

            // enable AddImageQuery on the notification
            square310x310TileContent.AddImageQuery = true;

            ITileWide310x150ImageAndText01 wide310x150TileContent = TileContentFactory.CreateTileWide310x150ImageAndText01();

            wide310x150TileContent.TextCaptionWrap.Text = "This tile notification uses query strings for the image src.";
            wide310x150TileContent.Image.Src            = ImageUrl.Text;
            wide310x150TileContent.Image.Alt            = "Web image";

            ITileSquare150x150Image square150x150TileContent = TileContentFactory.CreateTileSquare150x150Image();

            square150x150TileContent.Image.Src = ImageUrl.Text;
            square150x150TileContent.Image.Alt = "Web image";

            ITileSquare71x71Image square71x71TileContent = TileContentFactory.CreateTileSquare71x71Image();

            square71x71TileContent.Image.Src = ImageUrl.Text;
            square71x71TileContent.Image.Alt = "Web image";

            square150x150TileContent.Square71x71Content = square71x71TileContent;
            wide310x150TileContent.Square150x150Content = square150x150TileContent;
            square310x310TileContent.Wide310x150Content = wide310x150TileContent;

            TileUpdateManager.CreateTileUpdaterForApplication().Update(square310x310TileContent.CreateNotification());

            OutputTextBlock.Text = MainPage.PrettyPrint(square310x310TileContent.GetContent());
            rootPage.NotifyUser("Tile notification with image query strings sent.", NotifyType.StatusMessage);
        }
Exemple #2
0
        void UpdateTileWithImage_Click(object sender, RoutedEventArgs e)
        {
            // Note: This sample contains an additional project, NotificationsExtensions.
            // NotificationsExtensions exposes an object model for creating notifications, but you can also
            // modify the strings directly. See UpdateTileWithImageWithStringManipulation_Click for an example

            // Users can resize any app tile to the small (Square70x70 on Windows 8.1, Square71x71 on Windows Phone 8.1) and medium (Square150x150) tile sizes.
            // These are both tile sizes an app must minimally support.
            // An app can additionally support the wide (Wide310x150) tile size as well as the large (Square310x310) tile size.
            // Note that in order to support a large (Square310x310) tile size, an app must also support the wide (Wide310x150) tile size (but not vice versa).

            // This sample application supports all four tile sizes: small, medium, wide and large.
            // This means that the user may have resized their tile to any of these four sizes for their custom Start screen layout.
            // Because an app has no way of knowing what size the user resized their app tile to, an app should include template bindings
            // for each supported tile sizes in their notifications. Only Windows Phone 8.1 supports small tile notifications.
            // We assemble one notification with four template bindings by including the content for each smaller
            // tile in the next size up. Square310x310 includes Wide310x150, which includes Square150x150, which includes Square71x71.
            // If we leave off the content for a tile size which the application supports, the user will not see the
            // notification if the tile is set to that size.

            // Create a notification for the Square310x310 tile using one of the available templates for the size.
            ITileSquare310x310Image tileContent = TileContentFactory.CreateTileSquare310x310Image();

            tileContent.Image.Src = "ms-appx:///images/purpleSquare310x310.png";
            tileContent.Image.Alt = "Purple image";

            // Create a notification for the Wide310x150 tile using one of the available templates for the size.
            ITileWide310x150ImageAndText01 wide310x150Content = TileContentFactory.CreateTileWide310x150ImageAndText01();

            wide310x150Content.TextCaptionWrap.Text = "This tile notification uses ms-appx images";
            wide310x150Content.Image.Src            = "ms-appx:///images/redWide310x150.png";
            wide310x150Content.Image.Alt            = "Red image";

            // Create a notification for the Square150x150 tile using one of the available templates for the size.
            ITileSquare150x150Image square150x150Content = TileContentFactory.CreateTileSquare150x150Image();

            square150x150Content.Image.Src = "ms-appx:///images/graySquare150x150.png";
            square150x150Content.Image.Alt = "Gray image";

            // Create a notification for the Square71x71 tile using one of the available templates for the size.
            ITileSquare71x71Image square71x71Content = TileContentFactory.CreateTileSquare71x71Image();

            square71x71Content.Image.Src = "ms-appx:///images/graySquare150x150.png";
            square71x71Content.Image.Alt = "Gray image";

            // Attach the Square71x71 template to the Square150x150 template.
            square150x150Content.Square71x71Content = square71x71Content;

            // Attach the Square150x150 template to the Wide310x150 template.
            wide310x150Content.Square150x150Content = square150x150Content;

            // Attach the Wide310x150 to the Square310x310 template.
            tileContent.Wide310x150Content = wide310x150Content;

            // Send the notification to the application’s tile.
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());

            OutputTextBlock.Text = MainPage.PrettyPrint(tileContent.GetContent());
            rootPage.NotifyUser("Tile notification with local images sent", NotifyType.StatusMessage);
        }
        public static void UpdateDefaultTile(bool transparentTile = false)
        {
            var tileSubFolder       = transparentTile ? "Transparent" :  "Solid";
            var tileSquare71Content = TileContentFactory.CreateTileSquare71x71Image();
            ITileNotificationContent biggerTile;

            tileSquare71Content.Image.Src = String.Format("ms-appx:///Assets/Tiles/{0}/Square71x71Logo.png", tileSubFolder);

            var tileSquare150Content = TileContentFactory.CreateTileSquare150x150Image();

            tileSquare150Content.Image.Src          = String.Format("ms-appx:///Assets/Tiles/{0}/Square150x150Logo.png", tileSubFolder);
            tileSquare150Content.Square71x71Content = tileSquare71Content;

            var tileWideContent = TileContentFactory.CreateTileWide310x150Image();

            tileWideContent.Image.Src            = String.Format("ms-appx:///Assets/Tiles/{0}/Wide310x150Logo.png", tileSubFolder);
            tileWideContent.Square150x150Content = tileSquare150Content;

#if WINDOWS_PHONE_APP
            biggerTile = tileWideContent;
#else
            var tileSquare310Content = TileContentFactory.CreateTileSquare310x310Image();
            tileSquare310Content.Image.Src          = String.Format("ms-appx:///Assets/Tiles/{0}/Square310x310Logo.png", tileSubFolder);
            tileSquare310Content.Wide310x150Content = tileWideContent;

            biggerTile = tileSquare310Content;
#endif

            TileUpdateManager.CreateTileUpdaterForApplication().Update(biggerTile.CreateNotification());
        }
Exemple #4
0
        void SendTileNotificationScaledImage_Click(object sender, RoutedEventArgs e)
        {
            string scale;

            ResourceContext.GetForCurrentView().QualifierValues.TryGetValue("Scale", out scale);

            ITileSquare310x310Image square310x310TileContent = TileContentFactory.CreateTileSquare310x310Image();

            square310x310TileContent.Image.Src = "ms-appx:///images/purpleSquare310x310.png";
            square310x310TileContent.Image.Alt = "Purple square";

            ITileWide310x150SmallImageAndText03 wide310x150TileContent = TileContentFactory.CreateTileWide310x150SmallImageAndText03();

            wide310x150TileContent.TextBodyWrap.Text = "blueWide310x150.png in the xml is actually blueWide310x150.scale-" + scale + ".png";
            wide310x150TileContent.Image.Src         = "ms-appx:///images/blueWide310x150.png";
            wide310x150TileContent.Image.Alt         = "Blue wide";

            ITileSquare150x150Image square150x150TileContent = TileContentFactory.CreateTileSquare150x150Image();

            square150x150TileContent.Image.Src = "ms-appx:///images/graySquare150x150.png";
            square150x150TileContent.Image.Alt = "Gray square";

            wide310x150TileContent.Square150x150Content = square150x150TileContent;
            square310x310TileContent.Wide310x150Content = wide310x150TileContent;

            TileUpdateManager.CreateTileUpdaterForApplication().Update(square310x310TileContent.CreateNotification());

            OutputTextBlock.Text = MainPage.PrettyPrint(square310x310TileContent.GetContent());
        }
Exemple #5
0
        public async Task <ISquare310x310TileNotificationContent> clearLiveTiles(string siteName)
        {
            await genTileImages(siteName);

            // Large tile.
            var largeContent = TileContentFactory.CreateTileSquare310x310Image();

            largeContent.Image.Src = $"ms-appdata:///local/{siteName}LargeTile.png";
            largeContent.Branding  = NotificationsExtensions.TileContent.TileBranding.None;

            // Wide tile.
            var wideContent = TileContentFactory.CreateTileWide310x150Image();

            wideContent.Image.Src = $"ms-appdata:///local/{siteName}WideTile.png";
            wideContent.Branding  = NotificationsExtensions.TileContent.TileBranding.None;

            // Square tile.
            var squareContent = TileContentFactory.CreateTileSquare150x150Image();

            squareContent.Image.Src = $"ms-appdata:///local/{siteName}MedTile.png";
            squareContent.Branding  = NotificationsExtensions.TileContent.TileBranding.None;

            // Smaill tile.
            var smallContent = TileContentFactory.CreateTileSquare71x71Image();

            smallContent.Image.Src = $"ms-appdata:///local/{siteName}SmallTile.png";
            smallContent.Branding  = NotificationsExtensions.TileContent.TileBranding.None;

            largeContent.Wide310x150Content  = wideContent;
            wideContent.Square150x150Content = squareContent;
            squareContent.Square71x71Content = smallContent;
            return(largeContent);
        }
Exemple #6
0
        void UpdateTileWithWebImage_Click(object sender, RoutedEventArgs e)
        {
            // Note: This sample contains an additional project, NotificationsExtensions.
            // NotificationsExtensions exposes an object model for creating notifications, but you can also
            // modify the strings directly. See UpdateTileWithWebImageWithStringManipulation_Click for an example.

            // !Important!
            // The Internet (Client) capability must be checked in the manifest in the Capabilities tab
            // to display web images in tiles (either the http:// or https:// protocols)

            // Users can resize any app tile to the small (Square70x70) and medium (Square150x150) tile sizes.
            // These are both tile sizes an app must minimally support.
            // An app can additionally support the wide (Wide310x150) tile size as well as the large (Square310x310) tile size.
            // Note that in order to support a large (Square310x310) tile size, an app must also support the wide (Wide310x150) tile size (but not vice versa).

            // This sample application supports all four tile sizes – small (Square70x70), medium (Square150x150), wide (Wide310x150) and large (Square310x310).
            // This means that the user may have resized their tile to any of these four sizes for their custom Start screen layout.
            // Because an app has no way of knowing what size the user resized their app tile to, an app should include template bindings for each supported tile sizes in their notifications.
            // The only exception is the small (Square70x70) tile size because this size does not support live tile notifications, which is why there are no Square70x70 tile templates.             // We assemble one notification with three template bindings by including the content for each smaller
            // tile in the next size up. Square310x310 includes Wide310x150, which includes Square150x150.
            // If we leave off the content for a tile size which the application supports, the user will not see the
            // notification if the tile is set to that size.

            // Create a notification for the Square310x310 tile using one of the available templates for the size.
            ITileSquare310x310Image tileContent = TileContentFactory.CreateTileSquare310x310Image();

            tileContent.AddImageQuery = true;
            tileContent.Image.Src     = ImageUrl.Text;
            tileContent.Image.Alt     = "Web Image";

            // Create a notification for the Wide310x150 tile using one of the available templates for the size.
            ITileWide310x150ImageAndText01 wide310x150Content = TileContentFactory.CreateTileWide310x150ImageAndText01();

            wide310x150Content.TextCaptionWrap.Text = "This tile notification uses web images.";
            wide310x150Content.Image.Src            = ImageUrl.Text;
            wide310x150Content.Image.Alt            = "Web image";

            // Create a notification for the Square150x150 tile using one of the available templates for the size.
            ITileSquare150x150Image square150x150Content = TileContentFactory.CreateTileSquare150x150Image();

            square150x150Content.Image.Src = ImageUrl.Text;
            square150x150Content.Image.Alt = "Web image";

            // Attach the Square150x150 template to the Wide310x150 template.
            wide310x150Content.Square150x150Content = square150x150Content;

            // Attach the Wide310x150 template to the Square310x310 template.
            tileContent.Wide310x150Content = wide310x150Content;

            // Send the notification to the application’s tile.
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());

            OutputTextBlock.Text = MainPage.PrettyPrint(tileContent.GetContent());
        }
Exemple #7
0
        /// <summary>
        /// 支持大/宽/中/小磁贴的更新
        /// </summary>
        /// <param name="largeTileGrid"></param>
        /// <param name="wideTileGrid"></param>
        /// <param name="mediumTileGrid"></param>
        /// <param name="smallTileGrid"></param>
        /// <returns></returns>
        public async static Task <bool> UpdateTileForWindows(UIElement largeTileGrid, UIElement wideTileGrid, UIElement mediumTileGrid, UIElement smallTileGrid)
        {
            try
            {
                string largename = await SaveUIElementToFile(largeTileGrid, TileCategory.Large);

                string widename = await SaveUIElementToFile(wideTileGrid, TileCategory.Wide);

                string mediumname = await SaveUIElementToFile(mediumTileGrid, TileCategory.Medium);

                string smallname = await SaveUIElementToFile(smallTileGrid, TileCategory.Small);

                if (String.IsNullOrEmpty(widename) || String.IsNullOrEmpty(mediumname) || String.IsNullOrEmpty(smallname) || String.IsNullOrEmpty(largename))
                {
                    throw new NullReferenceException();
                }

                //small
                var smallTileContent = TileContentFactory.CreateTileSquare71x71Image();
                smallTileContent.Image.Src = "ms-appdata:///local/" + smallname;

                //medium
                var mediumTileContent = TileContentFactory.CreateTileSquare150x150Image();
                mediumTileContent.RequireSquare71x71Content = true;
                mediumTileContent.Square71x71Content        = smallTileContent;
                mediumTileContent.Image.Src = "ms-appdata:///local/" + mediumname;
                mediumTileContent.Branding  = TileBranding.None;

                //wide
                var wideTileContent = TileContentFactory.CreateTileWide310x150Image();
                wideTileContent.RequireSquare150x150Content = true;
                wideTileContent.Square150x150Content        = mediumTileContent;
                wideTileContent.Image.Src = "ms-appdata:///local/" + widename;
                wideTileContent.Branding  = TileBranding.None;

                var largeTileContent = TileContentFactory.CreateTileSquare310x310Image();
                largeTileContent.RequireWide310x150Content = true;
                largeTileContent.Wide310x150Content        = wideTileContent;
                largeTileContent.Image.Src = "ms-appdata:///local/" + largename;
                largeTileContent.Branding  = TileBranding.None;

                var notification = largeTileContent.CreateNotification();
                //TileUpdateManager.CreateTileUpdaterForApplication().Clear();
                TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Exemple #8
0
        public void setTile(Exercise ex)
        {
            string imagePath_Wide   = "ms-appx:///assets/tiles_images/wide_tile/" + ex.Title + ".jpg";
            string imagePath_Square = "ms-appx:///assets/tiles_images/square_tile/" + ex.Title + ".jpg";;
            string title            = ex.Title;
            string reps             = "Reps: " + ex.Reps;
            string sets             = "Sets: " + ex.Sets;

            ITileSquare310x310Image tileContent = TileContentFactory.CreateTileSquare310x310Image();

            tileContent.Image.Src = imagePath_Square;
            tileContent.Image.Alt = "image";

            // Create a notification for the Wide310x150 tile using one of the available templates for the size.
            ITileWide310x150PeekImage02 wideTile = TileContentFactory.CreateTileWide310x150PeekImage02();

            wideTile.TextHeading.Text = title;
            wideTile.TextBody2.Text   = reps;
            wideTile.TextBody3.Text   = sets;
            wideTile.Image.Src        = imagePath_Wide;

            // Create a notification for the Square150x150 tile using one of the available templates for the size.
            ITileSquare150x150PeekImageAndText01 square150x150Content = TileContentFactory.CreateTileSquare150x150PeekImageAndText01();

            square150x150Content.Image.Src      = imagePath_Square;
            square150x150Content.TextBody1.Text = title;
            square150x150Content.TextBody2.Text = reps;
            square150x150Content.TextBody3.Text = sets;

            // Create a notification for the Square71x71 tile using one of the available templates for the size.
            //ITileSquare71x71Image square71x71Content = TileContentFactory.CreateTileSquare71x71Image();
            //square71x71Content.Image.Src = imagePath;

            // Attach the Square71x71 template to the Square150x150 template.
            //square150x150Content.Square71x71Content = square71x71Content;

            // Attach the Square150x150 template to the Wide310x150 template.
            wideTile.Square150x150Content = square150x150Content;

            // Attach the Wide310x150 to the Square310x310 template.
            tileContent.Wide310x150Content = wideTile;

            // Send the notification to the application’s tile.
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileContent.CreateNotification());
        }
Exemple #9
0
        private void UpdateTile()
        {
            Random rnd = new Random();

            TileUpdateManager.CreateTileUpdaterForApplication().Clear();
            TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
            for (int i = 0; i < 6; i++)
            {
                ITileSquare310x310Image tileContent = TileContentFactory.CreateTileSquare310x310Image();
                tileContent.AddImageQuery = true;
                tileContent.Image.Src     = "Assets/" + i + ".png";
                tileContent.Image.Alt     = "Web image";

                ITileWide310x150ImageAndText01 wide310x150Content = TileContentFactory.CreateTileWide310x150ImageAndText01();
                wide310x150Content.Image.Src = "Assets/" + i + ".png";
                wide310x150Content.Image.Alt = "Web image";

                ITileSquare150x150Image square150x150Content = TileContentFactory.CreateTileSquare150x150Image();
                square150x150Content.Image.Src = "Assets/" + i + ".png";
                square150x150Content.Image.Alt = "Web image";

                wide310x150Content.Square150x150Content = square150x150Content;
                tileContent.Wide310x150Content          = wide310x150Content;

                TileNotification tileNotification = tileContent.CreateNotification();

                string tag = "Image" + i;
                tileNotification.Tag = tag;
                TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
            }

            /*ITileSquare310x310Text09 square310x310TileContent = TileContentFactory.CreateTileSquare310x310Text09();
             * square310x310TileContent.TextHeadingWrap.Text = "ATMOS '14";
             * ITileWide310x150Text03 wide310x150TileContent = TileContentFactory.CreateTileWide310x150Text03();
             * wide310x150TileContent.TextHeadingWrap.Text = "ATMOS '14";
             * ITileSquare150x150Text04 square150x150TileContent = TileContentFactory.CreateTileSquare150x150Text04();
             * square150x150TileContent.TextBodyWrap.Text = "ATMOS '14";
             * wide310x150TileContent.Square150x150Content = square150x150TileContent;
             * square310x310TileContent.Wide310x150Content = wide310x150TileContent;
             * tileNotification = square310x310TileContent.CreateNotification();
             * tag = "Title";
             * tileNotification.Tag = tag;
             * TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);*/
        }
Exemple #10
0
        private void UpdateTile()
        {
            TileUpdateManager.CreateTileUpdaterForApplication().Clear();
            TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
            ITileSquare310x310Image tileContent = TileContentFactory.CreateTileSquare310x310Image();

            tileContent.AddImageQuery = true;
            tileContent.Image.Src     = ImageUrl;
            tileContent.Image.Alt     = "Web Image";
            ITileWide310x150ImageAndText01 wide310x150Content = TileContentFactory.CreateTileWide310x150ImageAndText01();

            wide310x150Content.TextCaptionWrap.Text = "Last Book:ISBN-" + MainPage.isbn;
            wide310x150Content.Image.Src            = ImageUrl;
            wide310x150Content.Image.Alt            = "Web image";
            ITileSquare150x150Image square150x150Content = TileContentFactory.CreateTileSquare150x150Image();

            square150x150Content.Image.Src          = ImageUrl;
            square150x150Content.Image.Alt          = "Web image";
            wide310x150Content.Square150x150Content = square150x150Content;
            tileContent.Wide310x150Content          = wide310x150Content;
            TileNotification tileNotification = tileContent.CreateNotification();
            string           tag = "Image";

            tileNotification.Tag = tag;
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
            ITileSquare310x310Text09 square310x310TileContent = TileContentFactory.CreateTileSquare310x310Text09();

            square310x310TileContent.TextHeadingWrap.Text = Title.Text + Environment.NewLine + "ISBN-" + MainPage.isbn;
            ITileWide310x150Text03 wide310x150TileContent = TileContentFactory.CreateTileWide310x150Text03();

            wide310x150TileContent.TextHeadingWrap.Text = Title.Text + Environment.NewLine + "ISBN-" + MainPage.isbn;
            ITileSquare150x150Text04 square150x150TileContent = TileContentFactory.CreateTileSquare150x150Text04();

            square150x150TileContent.TextBodyWrap.Text  = Title.Text + Environment.NewLine + "ISBN-" + MainPage.isbn;
            wide310x150TileContent.Square150x150Content = square150x150TileContent;
            square310x310TileContent.Wide310x150Content = wide310x150TileContent;
            tileNotification = square310x310TileContent.CreateNotification();
            tag = "Title";
            tileNotification.Tag = tag;
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
        }
        void SendScaledImageTileNotification_Click(object sender, RoutedEventArgs e)
        {
            string scale;

            ResourceContext.GetForCurrentView().QualifierValues.TryGetValue("Scale", out scale);

            ITileSquare310x310Image square310x310TileContent = TileContentFactory.CreateTileSquare310x310Image();

            square310x310TileContent.Image.Src = "ms-appx:///images/purpleSquare310x310.png";
            square310x310TileContent.Image.Alt = "Purple square";

            ITileWide310x150ImageAndText01 wide310x150TileContent = TileContentFactory.CreateTileWide310x150ImageAndText01();

            wide310x150TileContent.TextCaptionWrap.Text = "scaled version of blueWide310x150.png in the xml is selected based on the current Start scale";
            wide310x150TileContent.Image.Src            = "ms-appx:///images/blueWide310x150.png";
            wide310x150TileContent.Image.Alt            = "Blue wide";

            ITileSquare150x150Image square150x150TileContent = TileContentFactory.CreateTileSquare150x150Image();

            square150x150TileContent.Image.Src = "ms-appx:///images/graySquare150x150.png";
            square150x150TileContent.Image.Alt = "Gray square";

            ITileSquare71x71Image square71x71TileContent = TileContentFactory.CreateTileSquare71x71Image();

            square71x71TileContent.Image.Src = "ms-appx:///images/graySquare150x150.png";
            square71x71TileContent.Image.Alt = "Gray square";

            square150x150TileContent.Square71x71Content = square71x71TileContent;
            wide310x150TileContent.Square150x150Content = square150x150TileContent;
            square310x310TileContent.Wide310x150Content = wide310x150TileContent;

            TileUpdateManager.CreateTileUpdaterForApplication().Update(square310x310TileContent.CreateNotification());

            OutputTextBlock.Text = MainPage.PrettyPrint(square310x310TileContent.GetContent());
            rootPage.NotifyUser("Tile notification with scaled images sent.", NotifyType.StatusMessage);
        }