Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
Tima19927
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 45
#1

Многострочные тайлы - Windows Phone

05.02.2015, 23:47. Просмотров 695. Ответов 9
Метки нет (Все метки)

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

Внутри тайла:
машина - спортивная
марка - BMW
цвет - красный
В примере написал что первое в голову пришло, не судите строго. В этом и вопрос мне нужно чтоб в тайле приложения на главной странице мобилы отображалось 5 строчек(короткие) текста и рядом с ними их значения. Как можно такое реализовать. В одной программе в Магазине увидел , хотелось такое же организовать и для своего приложения. Подскажите пожалуйста новичку((((((
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
06.02.2015, 11:07     Многострочные тайлы #2
какая платформа?
предположу, что 8.1
Universal apps

качаем семплы, там есть пример с Tile'ами.
Там есть удобная обертка, NotificationExtensions, с помощью неё удобно создавать темплейты тайлов.
The tile template catalog (Windows Runtime apps)
Tima19927
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 45
06.02.2015, 12:03  [ТС]     Многострочные тайлы #3
А как выбрать тот тайл который имеется по ссылке которую дали? Там есть ссылки но сами в себя переходят

Добавлено через 8 минут
Цитата Сообщение от krupa Посмотреть сообщение
какая платформа?
предположу, что 8.1
Universal apps

качаем семплы, там есть пример с Tile'ами.
Там есть удобная обертка, NotificationExtensions, с помощью неё удобно создавать темплейты тайлов.
The tile template catalog (Windows Runtime apps)
Спасибо большое я разобрался. А не подскажите как сделать чтоб программа все время работа в фоновом потоке, как к примеру Whats app он же вроде всегда в сети и всегда работает
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
06.02.2015, 12:05     Многострочные тайлы #4
вам необходимо знать имя темплейта. с помощью имени и библиотеки, что я посоветовал вам будет очень легко это реализовать. посмотрите семплы - там все легко и ясно
Tima19927
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 45
06.02.2015, 14:59  [ТС]     Многострочные тайлы #5
Цитата Сообщение от krupa Посмотреть сообщение
вам необходимо знать имя темплейта. с помощью имени и библиотеки, что я посоветовал вам будет очень легко это реализовать. посмотрите семплы - там все легко и ясно
Я нашел интересующий шаблон тайла. Код нашел. Но я пишу их в XAML то сразу ошибки, нету тегов <tile><visual> и тд . что не так делаю? Семплы скачал чисто под C# но фиг пойми почему самого то кода C# там и нет , JavaScript C++ и все

Добавлено через 52 минуты
Цитата Сообщение от krupa Посмотреть сообщение
вам необходимо знать имя темплейта. с помощью имени и библиотеки, что я посоветовал вам будет очень легко это реализовать. посмотрите семплы - там все легко и ясно
Куда необходимо вставить шаблон тайла, я недопонимаю
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tile>
  <visual>
    <binding template="TileWideText10">
      <text id="1">Text Field 1 (larger text)</text>
      <text id="2">Text Field 2, row 1, column 1</text>
      <text id="3">Text Field 3, row 1, column 2</text>
      <text id="4">Text Field 4, row 2, column 1</text>
      <text id="5">Text Field 5, row 2, column 2</text>
      <text id="6">Text Field 6, row 3, column 1</text>
      <text id="7">Text Field 7, row 3, column 2</text>
      <text id="8">Text Field 8, row 4, column 1</text>
      <text id="9">Text Field 9, row 4, column 2</text>
    </binding>  
  </visual>
</tile>
Добавлено через 1 час 12 минут
Неужели никто не знает как сделать такой тайл (((((
Tima19927
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 45
07.02.2015, 21:59  [ТС]     Многострочные тайлы #6
Хоть какой совет дайте пожалуйста(((( как сделать .
krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
07.02.2015, 22:52     Многострочные тайлы #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
SecondaryTilesSample.zip

держите пример. ничего сложного нет.
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 639
08.02.2015, 10:21     Многострочные тайлы #8
Ребят о чем базар то ?
кто такие эти тайлы? и почему они могут быть многострочными?!!!
Tima19927
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 45
08.02.2015, 11:51  [ТС]     Многострочные тайлы #9
Цитата Сообщение от jenokizm Посмотреть сообщение
Ребят о чем базар то ?
кто такие эти тайлы? и почему они могут быть многострочными?!!!
http://pro-tablets.com/all-images/sm...oid/widget.jpg
посмотри картинку))) вот эти плитки на экране называются Tile(плитка). и в ней есть текстовая в которой если не ошибаюсь- заголовок 15 символов. и тело само 40 символов. И в моем случае 40 символов это мало. поэтому стандартными способами не обойтись, и я искал другой способ

Добавлено через 6 минут
Я нашел другой способ это реализовать,если кому еще придется столкнуться с этой проблемой.
Функция RenderText берет в качестве параметров "сам текст", "ширину для картинка", "Высоту картинки", "Размер шрифта", "путь к картинке в изолированном хранилище". И тем самым сохраняет картинку с переданным текстом. Затем ее можно загрузить в качестве плитки для своей программы
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
        #region  Преобразует текст переданный в параметрах в изображение
        public static void UpdateLiveTile(string info)
        {
            ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault();
            if (tile != null)
            {
                FlipTileData flipTile = new FlipTileData();
                flipTile.Title = "Время намазов";
                flipTile.BackTitle = "Время намазов";
                flipTile.BackContent = " ";
                flipTile.WideBackContent = " ";
 
                //Medium size Tile 336x336 px
                //Crete image for BackBackgroundImage in IsoStore
                if (info.Length >= 135)
                {
                    RenderText(info.Substring(0, 135) + "...", 336, 336, 40, "BackBackgroundImage");
                }
                else
                {
                    RenderText(info, 336, 336, 36, "BackBackgroundImage");
                }
 
                flipTile.BackBackgroundImage = new Uri(@"isostore:/Shared/ShellContent/BackBackgroundImage.jpg", UriKind.Absolute); //Generated image for Back Background 336x336
                flipTile.BackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileMedium.png", UriKind.Relative); //Default image for Background Image Medium Tile 336x336 px
                //End Medium size Tile 336x336 px
 
                //Wide size Tile 691x336 px
                flipTile.WideBackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileLarge.png", UriKind.Relative); ////Default image for Background Image Wide Tile 691x336 px
 
                //Crete image for WideBackBackgroundImage in IsoStore
                RenderText(info, 691, 336, 40, "WideBackBackgroundImage");
                flipTile.WideBackBackgroundImage = new Uri(@"isostore:/Shared/ShellContent/WideBackBackgroundImage.jpg", UriKind.Absolute);
                //End Wide size Tile 691x336 px
 
                //Update Live Tile
                tile.Update(flipTile);
            }
        }
        private static void RenderText(string text, int width, int height, int fontsize, string imagename)
        {
            WriteableBitmap b = new WriteableBitmap(width, height);
 
            var canvas = new Grid();
            canvas.Width = b.PixelWidth;
            canvas.Height = b.PixelHeight;
 
            var background = new Canvas();
            background.Height = b.PixelHeight;
            background.Width = b.PixelWidth;
 
            //Created background color as Accent color
            SolidColorBrush backColor = new SolidColorBrush((Color)Application.Current.Resources["PhoneAccentColor"]);
            background.Background = backColor;
 
            var textBlock = new TextBlock();
            textBlock.Text = text;
            textBlock.FontWeight = FontWeights.Bold;
            textBlock.TextAlignment = TextAlignment.Left;
            textBlock.HorizontalAlignment = HorizontalAlignment.Center;
            textBlock.VerticalAlignment = VerticalAlignment.Stretch;
            textBlock.Margin = new Thickness(35);
            textBlock.Width = b.PixelWidth - textBlock.Margin.Left * 2;
            textBlock.TextWrapping = TextWrapping.Wrap;
            textBlock.Foreground = new SolidColorBrush(Colors.White); //color of the text on the Tile
            textBlock.FontSize = fontsize;
 
            canvas.Children.Add(textBlock);
 
            b.Render(background, null);
            b.Render(canvas, null);
            b.Invalidate(); //Draw bitmap
 
            //Save bitmap as jpeg file in Isolated Storage
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream("/Shared/ShellContent/" + imagename + ".jpg", System.IO.FileMode.Create, isf))
                {
                    b.SaveJpeg(imageStream, b.PixelWidth, b.PixelHeight, 0, 100);
                }
            }
        }
 
        #endregion
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2015, 20:14     Многострочные тайлы
Еще ссылки по теме:

Oracle Регулярные выражения и многострочные данные
C++ Откуда cmd берет тайлы букв?
Считать из .asc тайлы карты местности в формате ASCII C++
Многострочные виджеты вывода C++ Qt
Тайлы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 639
10.02.2015, 20:14     Многострочные тайлы #10
Tima19927, круто. спс!
Yandex
Объявления
10.02.2015, 20:14     Многострочные тайлы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru