Что почитать о MVVM? (Windows Phone/Windows 8/Silverlight/WPF)

Применение паттерна MVVM (Model-View-ViewModel) сейчас можно увидеть почти под все платформы. А вот информацию найти достаточно трудно, особенно для начинающих. Быстрый старт MVVM Light Soup To Nuts Part 1 MVVM Light Soup To Nuts Part 2 MVVM Light Soup To Nuts Part 3 MVVM Light Soup To Nuts Part 4 MVVM Light Soup To Nuts Part 5 Серия статей где Jesse Liberty описывает основные моменты в паттерне на примере Windows Phone и библиотеке MVVM Light. У него есть еще видео по MVVM для начинающих. Более детально Уже на данном этапе, информации очень много. Ниже я приведу лишь основные. ViewModel driven animations using the Visual State Manager, DataStateBehavior and Expression Blend В...

Читать далее

Используем сторонние TTF и OTF шрифты (Win8/WinRT)

В приложения Windows store app на XAML/C# можно использовать сторонние шрифты форматов TTF(TrueType) и OTF(OpenType). Как использовать Добавляем файлы шрифтов в удобное для вас место. А также не забываем убедиться что параметр Build Action выставлен в Content. В нужном компоненте (таком как TextBlock) нужно объявить параметр FontFamily в формате: FontFamily="/[path to font file]/[font file]#[font name]" Например: 1 2 3 4 5 6 <TextBlock Text="True Type Font sample" FontSize="70" FontFamily="/Assets/Fonts/mini_pixel-7.ttf#Mini Pixel-7"/> <TextBlock Text="Open Type Font sample" FontSize="70" FontFamily="/Assets/Fonts/Delicious-BoldItalic.otf#Delicious"/> <TextBlock Text="True Type Font...

Читать далее

Создаем Content для MonoGame в Visual Studio 2012

Первая проблема с которой сталкивается разработчик использующий MonoGame для игр под Windows 8(Windows Store apps) — это отсутствие специального типа проекта под контент в VS2012. Который преобразует ваши ресурсы, в понятный для XNA/MonoGame формат XNB. Банальное решение использовать для этого VS2010 приведено почти во всех «Getting Started». Но держать открытыми две разные студии, и два абсолютно не связанных Solution -это потеря времени и целостности проекта. С появлением Windows Phone SDK 8.0 в VS2012 можно делать игры на XNA под Windows Phone. И Microsoft добавили нужный тип проекта под...

Читать далее

Глобальная загрузка WinRT/Win8(XAML)

Стандартный способ оповещения пользователя о загрузке данных программой из интернета является индикатор из бегающих кубиков сверху экрана(ProgressBar). Чтобы не добавлять на каждую страницу ProgressBar и не передавать состояния загрузки из разных мест на индикатор, можно сделать «глобальную» для всего приложения загрузку. Сам класс GlobalLoading приведен ниже: 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 85 86 87 88 89 90 91 92 93 public class GlobalLoading : INotifyPropertyChanged {    ...

Читать далее

Snap-заглушка (WinRT/Win8)

Состояние Snapped — одно из возможных состояний Windows Store App. В нем у приложения устанавливается ширина в 320 пикселей, а всю остальную ширину занимает другое приложение. Пользователь таким образом может работать одновременно с двумя приложениями. Данный режим поддерживается только на устройствах экран у которых имеет разрешение по горизонтали не менее 1366 пикселей. На MSDN есть хороший пример, как можно поддерживать данный режим. Если времени или желания нет, то можно сделать заглушку, которая полностью перекрывает экран на время нахождения...

Читать далее

UIElement и PositionAnchor в Bing картаx (Win8/WinRT)

Добавляя UIElement на карту из Bing SDK обычно используют конструкцию вида: 1 2 3 4 5 6 7 8 UIElement control;   //...   MapLayer.SetPosition(control, position); MapLayer.SetPositionAnchor(control, new Point(0, 0));   map.Children.Add(control); UIElement control; //... MapLayer.SetPosition(control, position); MapLayer.SetPositionAnchor(control, new Point(0, 0)); map.Children.Add(control); Подробнее по методам MapLayer.SetPosition( DependencyObject dependencyObject, Location location) устанавливает позицию UIElement в географических координатах на карте. MapLayer.SetPositionAnchor( DependencyObject dependencyObject, Point positionAnchor) устанавливает какую именно точку UIElement зафиксировать на карте в location из предыдущего метода...

Читать далее

Список плагинов для Construct 2 на каждый день

После радости, о том как просто делать игры на Construct 2, возникает недоумение, а почему так мало? Почему так мало возможностей, нету даже камеры, кроме примитивного ScrollTo и так далее. Тут на помощь и приходят плагины от сторонних разработчиков. О более необходимых из них ниже. Magicam for Construct 2 Раз я начал с камеры, то первым плагином будет именно реализация «магической» камеры. На момент написания статьи этот плагин только начинает обретать нужный функционал. Но уже реализовано: Создание нескольких к камер с возможностью переключения между...

Читать далее

Используем OpenStreetMap карты в Win8/WinRT

Многие по тем или иным причинам выбирают карты OpenStreetMap, но готовых решений для WinRT нету. Выход простой: используем Bing SDK и переправляем запросы на изображения карты с Bing сервера на сервер OSM. Делается это при инициализации страницы с контролом Map так: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //создаем слой тайлов MapTileLayer layerOSM = new MapTileLayer();   //перенаправляем загрузку на сервер OSM layerOSM.GetTileUri += (s, e) => {   e.Uri = new Uri(string.Format("{0}/{1}/{2}.png", e.LevelOfDetail, e.X, e.Y)); };   //добавляем слой к карте map.TileLayers.Add(layerOSM);   //выключаем посторонние слои на...

Читать далее