Сложные приёмы разработки приложений для Windows Phone 8

Плитки

Разбить на страницы
Показывать лекцию целиком

Цель работы: освоить технологию работы с плитками

Плитки приложений для Windows Phone 8

Основная роль плиток приложений, расположенных на рабочем столе Windows Phone, заключается в запуске приложений. На рабочем столе может присутствовать несколько плиток одного и того же приложения это – основная и дополнительные плитки. Дополнительные плитки используют для передаче приложению параметров, которые влияют на то, что именно увидит пользователь после запуска. Например, он может увидеть после запуска приложения с дополнительной плитки какую-то определенную страницу приложения или какой-то определенный файла, с которыми работает приложение. Помимо запуска приложений плитки помогают привлекать внимание пользователя к приложению – у качественно исполненной, информативной, динамичной плитки приложения больше шансов побудить пользователя воспользоваться приложением, чем у обычной плитки. Еще одна роль плиток заключается в быстром предоставлении пользователю наиболее ценной информации из приложения. Он может увидеть эту информацию, не запуская само приложение. Плитки, при необходимости, можно периодически обновлять даже тогда, когда основное приложение не запущено.

В Windows Phone 8 предусмотрено три разновидности плиток, для работы с которыми существуют отдельные классы:

  • Flip (двусторонние плитки), которые могут "переворачиваться", отображая дополнительное содержимое, которое находится у них "с обратной стороны". Для работы с ними используется класс Microsoft.Phone.Shell.FlipTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.fliptiledata%28v=vs.105%29.aspx
  • Cycle (циклически обновляемые плитки), которые могут циклически отображать до 9 фоновых изображений. Для работы с ними используют класс Microsoft.Phone.Shell.CycleTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.cycletiledata%28v=vs.105%29.aspx
  • Iconic (плитки-значки), простые и лаконичные плитки в стиле Windows 8. Для работы с ними используется API Microsoft.Phone.Shell.IconicTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.iconictiledata%28v=vs.105%29.aspx
  • Существует три размера плиток, пользователь может менять этот размер. В частности, это – плитки маленького (small) размера, плитки среднего (medium) размера и так называемые широкие, или крупные (wide) плитки. При подготовке изображений, которые будут использоваться для плиток, нужно учесть, что пользователь может выбрать любой размер плитки. Для плиток различных размеров рекомендуется использовать изображения следующих размеров, из расчёта на разрешение дисплея 768x1280, то есть, на WXGA-дисплей. Такие размеры исходных изображений позволят создать качественные плитки, которые будут хорошо выглядеть на экране телефона:

    Размер плитки Плитки типа Flip и Cycle Плитка типа Iconic
    Маленькая плитка 159x159 пикселей 110х110 пикселей
    Средняя плитка 336х336 пикселей 202х202 пикселя
    Крупная плитка 691х336 пикселей Не требуется

    Нужно отметить, что плитки-значки поддерживают широкий вариант плитки, однако, на таких плитках используются изображения с прозрачным фоном, фон плитки – одноцветный, задаваемый разработчиком, и когда такую плитку переключают в режим широкой плитки, на ней используется изображение, применяемое на маленькой плитке.

    Если говорить об обновлении плиток, то обновлять их можно либо из самого приложения, либо воспользовавшись планировщиком обновлений, либо – с помощью push-уведомлений.

    Узнать подробнее об особенностях дизайна плиток, а так же о других аспектах работы с плитками, можно на странице "Tiles for Windows Phone" ("Плитки для Windows Phone"), http://msdn.microsoft.com/en-US/library/windowsphone/develop/hh202948%28v=vs.105%29.aspx.

    Как правило, типичный сценарий работы с плитками выглядит, с точки зрения пользователя, следующим образом. Большинство приложений, после установки и добавления плитки приложения на Рабочий стол, используют плитку, которая не анимирована, и содержит лишь необходимый минимум информации о приложении. После первого запуска приложения, если ему есть что показать, например, на двусторонней плитке, или на циклически обновляемой плитке, приложение обновляет плитку, задаваемую по умолчанию. Кроме того, приложение может предоставить пользователю выбор из нескольких вариантов плиток, которые различаются внешним видом и составом отображаемых на них данных. Так же приложение может позволять пользователю создавать дополнительные плитки для быстрого доступа к чему-либо в приложении.

    При создании приложения плитка по умолчанию настраивается в графическом редакторе манифеста, на закладке Интерфейс приложения, рис. 55.1.

    (рис 55.1) Настройка плиток (иконок) в редакторе манифеста

    Здесь можно задать шаблон плитки (в интерфейсе редактора манифеста они называются иконками), включить поддержку крупных иконок и набор графических элементов для использования на иконке.

    В пакете приложения присутствуют графические файлы, находящиеся в папке Assets > Tiles, они представляют собой заготовки, которые можно использовать для создания собственных плиток. Здесь используются графические файлы формата PNG. Заготовки представляют собой файлы с изображениями, нанесенными белым цветом, с прозрачным фоном. Использование такой заготовки приведет к тому, что фон плитки будет иметь акцентный цвет, установленный в системе.

    Изображение для значка приложения присутствует в папке Assets (ApplicationIcon.png), задаётся в поле Значок приложения на той же странице редактора. Значок выводится в общем списке приложений. Обычно он содержит логотип приложения, он, если приложение не предусматривает расширенного использования плитки, обычно является уменьшенной (размер файла в пикселях – 100х100) копией основной плитки среднего размера. При подготовке приложения следует, как минимум, разработать для него уникально выглядящую плитку и значок.

    В учебном проекте приложения P20_1 мы рассмотрим следующие операции, которые можно производить с плитками приложения:

  • Настройка основной плитки приложения.
  • Добавление дополнительной плитки приложения, которая позволяет при запуске приложения переходить на его определенную страницу или выполнять другие действия в соответствии с параметрами запуска, передаваемыми приложению при его запуске с дополнительной плитки.
  • Настройка регулярного обновления плитки с использованием системного планировщика обновлений.
  • На рис. 55.2. вы можете видеть окно проекта приложения.

    (рис 55.2) Окно проекта приложения P20_1

    Обратите внимание на набор изображений, которые будут использоваться для плиток. Они размещены в папке Assets > Tiles и названы в соответствии с размерами и тем, используются ли изображения для передней части двусторонней плитки (f) или задней (b). Мы собираемся обновить плитку приложения, создаваемую по умолчанию, используя эти изображения. Так как пользователь может переключить плитку к любому из поддерживаемых ей размера, нужно три комплекта изображений. При этом для маленькой плитки достаточно одного изображения, так как она не анимируется. Все эти изображения имеют формат PNG. Для дополнительной плитки, которая будет поддерживать возможность циклического обновления содержимого, мы подготовили два изображения, которые будут циклически сменять друг друга (поддерживается до 9 таких изображений), они имеют формат JPG, и одно изображение 159х159_c.png – оно будет использовано при переключении к маленькому формату дополнительной плитки, который не поддерживает анимацию.

    Механизм автообновления плитки по расписанию создан на основе примера "Shell tile schedule" ("Обновление плитки по расписанию"), http://code.msdn.microsoft.com/Shell-Tile-Schedule-589f628e.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows;
    using System.Windows.Navigation;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    
    namespace P20_1
    {
        public partial class MainPage : PhoneApplicationPage
        {
            // Конструктор
            public MainPage()
            {
                InitializeComponent();
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                //Получаем основную плитку приложения
                //Если она еще не закреплена на рабочем столе
                //будет произведена её настройка, которая повлияет на вид плитки
                //после закрепления
                ShellTile mainT = ShellTile.ActiveTiles.First();
    
                //Так как мы использовали шаблон FlipTile, 
                //Настроим соответствующий объект
                FlipTileData ftData = new FlipTileData();
                //Надписи на плитке
                ftData.Title = "Новая плитка!";
                ftData.Count = 1;
                ftData.BackTitle = "Добро пожаловать!";
                ftData.BackContent = "задняя часть плитки";
                ftData.WideBackContent = "задняя часть крупной плитки";
                //Передняя часть плитки
                ftData.SmallBackgroundImage = new Uri("Assets/Tiles/159x159_f.png", UriKind.Relative);
                ftData.BackgroundImage = new Uri("Assets/Tiles/336x336_f.png", UriKind.Relative);
                ftData.WideBackgroundImage = new Uri("Assets/Tiles/691x336_f.png", UriKind.Relative);
                //Задняя часть плитки
                ftData.BackBackgroundImage = new Uri("/Assets/Tiles/336x336_b.png", UriKind.Relative);
                ftData.WideBackBackgroundImage = new Uri("/Assets/Tiles/691x336_b.png", UriKind.Relative);
                //Обновим содержимое плитки
                mainT.Update(ftData);
            }
    
            private void btnNewTile_Click(object sender, RoutedEventArgs e)
            {
    
                //Список плиток
                List<ShellTile> tileList = ShellTile.ActiveTiles.ToList();
    
                MessageBox.Show("Количество плиток приложения: " + tileList.Count().ToString());
    
                //Данные циклически обновляемой плитки
                CycleTileData ctData = new CycleTileData();
                ctData.Title = "Циклическая плитка";
                ctData.Count = 2;
    
                //Для маленькой плитки, она не обновляется
                ctData.SmallBackgroundImage = new Uri("Assets/Tiles/159x159_c.png", UriKind.Relative);
    
                //Используем 2 изображения, поддерживаются до 9 изображееий
                ctData.CycleImages = new Uri[]
                   {
                      new Uri("Assets/Tiles/1.jpg", UriKind.Relative), 
                      new Uri("Assets/Tiles/2.jpg", UriKind.Relative), 
                   };
    
                //Находим плитку, в строке перехода которой содержится параметр com1
                ShellTile tileFinded = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("com1"));
    
                if (tileFinded != null  tileFinded.NavigationUri.ToString().Contains("com1"))
                {
                    //Если плитка уже есть, удаляем её, после чего создаем снова
                    tileFinded.Delete();
                    ShellTile.Create(new Uri("/MainPage.xaml?command=com1", UriKind.Relative), ctData, true);
                }
                else
                {
                    //Если плитки нет - создаём
                    ShellTile.Create(new Uri("/MainPage.xaml?command=com1", UriKind.Relative), ctData, true);
                }
            }
            //При переходе на страницу
            protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                IDictionary<string, string> parameters = this.NavigationContext.QueryString;
                //Анализируем переданные параметры
                if (parameters.ContainsKey("command"))
                {
                    if (parameters["command"] == "com1")
                    {
                        //Если пристствует параметр command со значеием com1
                        MessageBox.Show("Запуск с дополнительной плитки, с командой " + parameters["command"]);
                    }
                }
                base.OnNavigatedTo(e);
            }
            //Обовление основной плитки
            private void btnStartUpdate_Click(object sender, RoutedEventArgs e)
            {
                //Объект для планирования обновления фонового изображения плитки
                //Для первой плитки - это всегда основная плитка приложения
                ShellTileSchedule tileUpdShedule = new ShellTileSchedule(ShellTile.ActiveTiles.First());
                //Интервал обновления
                tileUpdShedule.Interval = UpdateInterval.EveryHour;
                //Производить периодические обновления
                tileUpdShedule.Recurrence = UpdateRecurrence.Interval;
                //Количество периодических обновления
                tileUpdShedule.MaxUpdateCount = 24;
                //Изображениее, загружаемое при обновлении
                tileUpdShedule.RemoteImageUri = new Uri(@"http://www.weather.gov/forecasts/graphical/images/conus/MaxT1_conus.png");
                //Время запуска обновления
                tileUpdShedule.StartTime = DateTime.Now;
                //Запускаем обновления по расписанию
                tileUpdShedule.Start();
            }
        }
    }
    

    Выводы

    Плитки приложения – это не только средство запуска приложения и способ привлечения внимания пользователя к приложению, но и ценное средство для вывода на рабочий стол системы полезных данных. Если это оправдано сценарием приложения, использование динамических плиток способно повысить удобство работы с приложением и улучшить впечатление пользователя от приложения. Основная плитка приложения используется для его обычного запуска, дополнительные плитки могут открывать конкретные страницы приложения или приводить к показу каких-либо данных, для быстрого доступа к которым была создана такая плитка.

    Задания

    Оцените разрабатываемое вами приложение на предмет использования в нём динамических плиток и дополнительных плиток. Опишите сценарии работы с приложением, в которых можно использовать эти механизмы. Подготовьте отчёт.

    Дополнительные материалы

    К данной лекции подготовлено видеоприложение и демонстрационный программный проект.

    Страницы:

    Цель работы: освоить технологию работы с плитками

    Плитки приложений для Windows Phone 8

    Основная роль плиток приложений, расположенных на рабочем столе Windows Phone, заключается в запуске приложений. На рабочем столе может присутствовать несколько плиток одного и того же приложения это – основная и дополнительные плитки. Дополнительные плитки используют для передаче приложению параметров, которые влияют на то, что именно увидит пользователь после запуска. Например, он может увидеть после запуска приложения с дополнительной плитки какую-то определенную страницу приложения или какой-то определенный файла, с которыми работает приложение. Помимо запуска приложений плитки помогают привлекать внимание пользователя к приложению – у качественно исполненной, информативной, динамичной плитки приложения больше шансов побудить пользователя воспользоваться приложением, чем у обычной плитки. Еще одна роль плиток заключается в быстром предоставлении пользователю наиболее ценной информации из приложения. Он может увидеть эту информацию, не запуская само приложение. Плитки, при необходимости, можно периодически обновлять даже тогда, когда основное приложение не запущено.

    В Windows Phone 8 предусмотрено три разновидности плиток, для работы с которыми существуют отдельные классы:

  • Flip (двусторонние плитки), которые могут "переворачиваться", отображая дополнительное содержимое, которое находится у них "с обратной стороны". Для работы с ними используется класс Microsoft.Phone.Shell.FlipTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.fliptiledata%28v=vs.105%29.aspx
  • Cycle (циклически обновляемые плитки), которые могут циклически отображать до 9 фоновых изображений. Для работы с ними используют класс Microsoft.Phone.Shell.CycleTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.cycletiledata%28v=vs.105%29.aspx
  • Iconic (плитки-значки), простые и лаконичные плитки в стиле Windows 8. Для работы с ними используется API Microsoft.Phone.Shell.IconicTileData, http://msdn.microsoft.com/en-US/library/windowsphone/develop/microsoft.phone.shell.iconictiledata%28v=vs.105%29.aspx
  • Существует три размера плиток, пользователь может менять этот размер. В частности, это – плитки маленького (small) размера, плитки среднего (medium) размера и так называемые широкие, или крупные (wide) плитки. При подготовке изображений, которые будут использоваться для плиток, нужно учесть, что пользователь может выбрать любой размер плитки. Для плиток различных размеров рекомендуется использовать изображения следующих размеров, из расчёта на разрешение дисплея 768x1280, то есть, на WXGA-дисплей. Такие размеры исходных изображений позволят создать качественные плитки, которые будут хорошо выглядеть на экране телефона:

    Размер плитки Плитки типа Flip и Cycle Плитка типа Iconic
    Маленькая плитка 159x159 пикселей 110х110 пикселей
    Средняя плитка 336х336 пикселей 202х202 пикселя
    Крупная плитка 691х336 пикселей Не требуется

    Нужно отметить, что плитки-значки поддерживают широкий вариант плитки, однако, на таких плитках используются изображения с прозрачным фоном, фон плитки – одноцветный, задаваемый разработчиком, и когда такую плитку переключают в режим широкой плитки, на ней используется изображение, применяемое на маленькой плитке.

    Если говорить об обновлении плиток, то обновлять их можно либо из самого приложения, либо воспользовавшись планировщиком обновлений, либо – с помощью push-уведомлений.

    Узнать подробнее об особенностях дизайна плиток, а так же о других аспектах работы с плитками, можно на странице "Tiles for Windows Phone" ("Плитки для Windows Phone"), http://msdn.microsoft.com/en-US/library/windowsphone/develop/hh202948%28v=vs.105%29.aspx.

    Как правило, типичный сценарий работы с плитками выглядит, с точки зрения пользователя, следующим образом. Большинство приложений, после установки и добавления плитки приложения на Рабочий стол, используют плитку, которая не анимирована, и содержит лишь необходимый минимум информации о приложении. После первого запуска приложения, если ему есть что показать, например, на двусторонней плитке, или на циклически обновляемой плитке, приложение обновляет плитку, задаваемую по умолчанию. Кроме того, приложение может предоставить пользователю выбор из нескольких вариантов плиток, которые различаются внешним видом и составом отображаемых на них данных. Так же приложение может позволять пользователю создавать дополнительные плитки для быстрого доступа к чему-либо в приложении.

    При создании приложения плитка по умолчанию настраивается в графическом редакторе манифеста, на закладке Интерфейс приложения, рис. 55.1.

    (рис 55.1) Настройка плиток (иконок) в редакторе манифеста

    Здесь можно задать шаблон плитки (в интерфейсе редактора манифеста они называются иконками), включить поддержку крупных иконок и набор графических элементов для использования на иконке.

    В пакете приложения присутствуют графические файлы, находящиеся в папке Assets > Tiles, они представляют собой заготовки, которые можно использовать для создания собственных плиток. Здесь используются графические файлы формата PNG. Заготовки представляют собой файлы с изображениями, нанесенными белым цветом, с прозрачным фоном. Использование такой заготовки приведет к тому, что фон плитки будет иметь акцентный цвет, установленный в системе.

    Изображение для значка приложения присутствует в папке Assets (ApplicationIcon.png), задаётся в поле Значок приложения на той же странице редактора. Значок выводится в общем списке приложений. Обычно он содержит логотип приложения, он, если приложение не предусматривает расширенного использования плитки, обычно является уменьшенной (размер файла в пикселях – 100х100) копией основной плитки среднего размера. При подготовке приложения следует, как минимум, разработать для него уникально выглядящую плитку и значок.

    В учебном проекте приложения P20_1 мы рассмотрим следующие операции, которые можно производить с плитками приложения:

  • Настройка основной плитки приложения.
  • Добавление дополнительной плитки приложения, которая позволяет при запуске приложения переходить на его определенную страницу или выполнять другие действия в соответствии с параметрами запуска, передаваемыми приложению при его запуске с дополнительной плитки.
  • Настройка регулярного обновления плитки с использованием системного планировщика обновлений.
  • На рис. 55.2. вы можете видеть окно проекта приложения.

    (рис 55.2) Окно проекта приложения P20_1

    Обратите внимание на набор изображений, которые будут использоваться для плиток. Они размещены в папке Assets > Tiles и названы в соответствии с размерами и тем, используются ли изображения для передней части двусторонней плитки (f) или задней (b). Мы собираемся обновить плитку приложения, создаваемую по умолчанию, используя эти изображения. Так как пользователь может переключить плитку к любому из поддерживаемых ей размера, нужно три комплекта изображений. При этом для маленькой плитки достаточно одного изображения, так как она не анимируется. Все эти изображения имеют формат PNG. Для дополнительной плитки, которая будет поддерживать возможность циклического обновления содержимого, мы подготовили два изображения, которые будут циклически сменять друг друга (поддерживается до 9 таких изображений), они имеют формат JPG, и одно изображение 159х159_c.png – оно будет использовано при переключении к маленькому формату дополнительной плитки, который не поддерживает анимацию.

    Механизм автообновления плитки по расписанию создан на основе примера "Shell tile schedule" ("Обновление плитки по расписанию"), http://code.msdn.microsoft.com/Shell-Tile-Schedule-589f628e.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows;
    using System.Windows.Navigation;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    
    namespace P20_1
    {
        public partial class MainPage : PhoneApplicationPage
        {
            // Конструктор
            public MainPage()
            {
                InitializeComponent();
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                //Получаем основную плитку приложения
                //Если она еще не закреплена на рабочем столе
                //будет произведена её настройка, которая повлияет на вид плитки
                //после закрепления
                ShellTile mainT = ShellTile.ActiveTiles.First();
    
                //Так как мы использовали шаблон FlipTile, 
                //Настроим соответствующий объект
                FlipTileData ftData = new FlipTileData();
                //Надписи на плитке
                ftData.Title = "Новая плитка!";
                ftData.Count = 1;
                ftData.BackTitle = "Добро пожаловать!";
                ftData.BackContent = "задняя часть плитки";
                ftData.WideBackContent = "задняя часть крупной плитки";
                //Передняя часть плитки
                ftData.SmallBackgroundImage = new Uri("Assets/Tiles/159x159_f.png", UriKind.Relative);
                ftData.BackgroundImage = new Uri("Assets/Tiles/336x336_f.png", UriKind.Relative);
                ftData.WideBackgroundImage = new Uri("Assets/Tiles/691x336_f.png", UriKind.Relative);
                //Задняя часть плитки
                ftData.BackBackgroundImage = new Uri("/Assets/Tiles/336x336_b.png", UriKind.Relative);
                ftData.WideBackBackgroundImage = new Uri("/Assets/Tiles/691x336_b.png", UriKind.Relative);
                //Обновим содержимое плитки
                mainT.Update(ftData);
            }
    
            private void btnNewTile_Click(object sender, RoutedEventArgs e)
            {
    
                //Список плиток
                List<ShellTile> tileList = ShellTile.ActiveTiles.ToList();
    
                MessageBox.Show("Количество плиток приложения: " + tileList.Count().ToString());
    
                //Данные циклически обновляемой плитки
                CycleTileData ctData = new CycleTileData();
                ctData.Title = "Циклическая плитка";
                ctData.Count = 2;
    
                //Для маленькой плитки, она не обновляется
                ctData.SmallBackgroundImage = new Uri("Assets/Tiles/159x159_c.png", UriKind.Relative);
    
                //Используем 2 изображения, поддерживаются до 9 изображееий
                ctData.CycleImages = new Uri[]
                   {
                      new Uri("Assets/Tiles/1.jpg", UriKind.Relative), 
                      new Uri("Assets/Tiles/2.jpg", UriKind.Relative), 
                   };
    
                //Находим плитку, в строке перехода которой содержится параметр com1
                ShellTile tileFinded = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("com1"));
    
                if (tileFinded != null  tileFinded.NavigationUri.ToString().Contains("com1"))
                {
                    //Если плитка уже есть, удаляем её, после чего создаем снова
                    tileFinded.Delete();
                    ShellTile.Create(new Uri("/MainPage.xaml?command=com1", UriKind.Relative), ctData, true);
                }
                else
                {
                    //Если плитки нет - создаём
                    ShellTile.Create(new Uri("/MainPage.xaml?command=com1", UriKind.Relative), ctData, true);
                }
            }
            //При переходе на страницу
            protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                IDictionary<string, string> parameters = this.NavigationContext.QueryString;
                //Анализируем переданные параметры
                if (parameters.ContainsKey("command"))
                {
                    if (parameters["command"] == "com1")
                    {
                        //Если пристствует параметр command со значеием com1
                        MessageBox.Show("Запуск с дополнительной плитки, с командой " + parameters["command"]);
                    }
                }
                base.OnNavigatedTo(e);
            }
            //Обовление основной плитки
            private void btnStartUpdate_Click(object sender, RoutedEventArgs e)
            {
                //Объект для планирования обновления фонового изображения плитки
                //Для первой плитки - это всегда основная плитка приложения
                ShellTileSchedule tileUpdShedule = new ShellTileSchedule(ShellTile.ActiveTiles.First());
                //Интервал обновления
                tileUpdShedule.Interval = UpdateInterval.EveryHour;
                //Производить периодические обновления
                tileUpdShedule.Recurrence = UpdateRecurrence.Interval;
                //Количество периодических обновления
                tileUpdShedule.MaxUpdateCount = 24;
                //Изображениее, загружаемое при обновлении
                tileUpdShedule.RemoteImageUri = new Uri(@"http://www.weather.gov/forecasts/graphical/images/conus/MaxT1_conus.png");
                //Время запуска обновления
                tileUpdShedule.StartTime = DateTime.Now;
                //Запускаем обновления по расписанию
                tileUpdShedule.Start();
            }
        }
    }
    

    Выводы

    Плитки приложения – это не только средство запуска приложения и способ привлечения внимания пользователя к приложению, но и ценное средство для вывода на рабочий стол системы полезных данных. Если это оправдано сценарием приложения, использование динамических плиток способно повысить удобство работы с приложением и улучшить впечатление пользователя от приложения. Основная плитка приложения используется для его обычного запуска, дополнительные плитки могут открывать конкретные страницы приложения или приводить к показу каких-либо данных, для быстрого доступа к которым была создана такая плитка.

    Задания

    Оцените разрабатываемое вами приложение на предмет использования в нём динамических плиток и дополнительных плиток. Опишите сценарии работы с приложением, в которых можно использовать эти механизмы. Подготовьте отчёт.

    Дополнительные материалы

    К данной лекции подготовлено видеоприложение и демонстрационный программный проект.

    Вернуться к учебному плану