Программное определение аппаратных свойств в Windows Phone 7 (Mango)

Из аппаратных свойств программно Windows Phone 7 (Mango) выдает достаточно большой список:
1) Изготовитель устройства
2) Название устройства
3) Уникальный идентификатор устройства
4) Версия прошивки устройства
5) Версия устройства
6) Полный объём памяти устройства
7) Текущий объём памяти, используемой приложением
8 ) Пиковый объём памяти, используемой приложением
9) Активный источник питания (встроенный аккумулятор или внешнее питание, например зарядное устройство или USB-кабель)
10) Наличие встроенной клавиатуры
11) Состояние выдвижной клавиатуры (выдвинута/задвинута)
12) Обработчик выдвигания/задвигания клавиатуры
Пункты 10-12 мы уже обсуждале в предыдущем материале.
Не стоит подробно напоминать о значимости всех этих свойств.
Рассмотрим как работать с этими свойствами.

Читать далее Программное определение аппаратных свойств в Windows Phone 7 (Mango)

Программное определение свойств мобильной и Wi-Fi сети у Windows Phone 7 (Mango)

Полезными свойствами, которые можно обрабатывать программно, являются свойства отвечающие за сетевые подключения.
Их всего пять:
1) Название мобильного оператора
2) Доступность сетевого подключения
3) Доступность сотовой связи
4) Определение режима роуминга
5) Доступность Wi-Fi сети
Так же есть обрабатываемое событие изменения доступности сетевого подключения.

Программное определение наличия и состояния выдвижной клавиатуры у Windows Phone 7

Некоторые модели Windows Phone 7 обладают выдвижной клавиатурой. Целесообразно определять наличие такой клавиатуры и обрабатывать её состояние (задвинута/выдвинута), поскольку при выдвинутой аппаратной клавиатуре экранная клавиатура при вводе текста отображаться не будет и дизайн пользовательского  интерфейса можно немного изменить с учетом наличия или отсутствия аппаратной клавиатуры. Читать далее Программное определение наличия и состояния выдвижной клавиатуры у Windows Phone 7

Захват экрана Windows Phone 7

В некоторых пользовательских мобильных приложениях возникает необходимость захвата изображения с экрана. Посмотрим как это можно выполнить в Windows Phone 7.
Создадим простенькое приложение, которое после нажатия на кнопку захвата изображения будет отображать в контроле Image захваченое изображение всего экрана.
Вы должны добавить в сборку следующую ссылку Microsoft.XNA.Framework для возможности работы с  MediaLibrary.
Также необходимо добавить следующие пространства имен
using System.IO;
using System.IO.IsolatedStorage;
using Microsoft.Phone;
using Microsoft.Xna.Framework.Media;
using System.Windows.Resources;
using System.Windows.Media.Imaging;
А теперь немного кода:

private void btnCaptureScreen_Click(object sender, RoutedEventArgs e)
{
//Захват изображения и загрузка этого изображения в отдельный контрол
WriteableBitmap bmp = new WriteableBitmap((int)this.ActualWidth, (int)this.ActualHeight);
bmp.Render(this, null);
bmp.Invalidate();
this.image1.Source = bmp;
}

Что ж, наше приложение уже умеет просто захватывать изображение и отображать результат в отдельном контроле.
Вот результат:
Захват экрана WP7
В следующем уроке мы изменим проект так, чтобы захваченое изображение можно было сохранить в виде файла в формате jpg.

А скачать готовый проект с кодом сегодняшнего урока можно здесь.

Семинар для web-разработчиков по Windows Azure

29 марта 2011 года в Москве пройдёт семинар для web-разработчиков по Windows Azure.
Регистрация на мероприятие и прочая информация тут.

Silverlight Firestarter

Буквально на днях, 2 декабря, пройдёт Silverlight Firestarter.
Сразу возникает вопрос «что такое  Silverlight Firestarter?».  Silverlight Firestarter — это глобальная встреча, которую можно будет наблюдать в онлайн трансляции (язык вещания — английский). Будет интересно как начинающим, так и профессионалам. В повестке дня обзор технологии, интерактивное обучение, ответы на вопросы. Silverlight является мощной платформой для разработки захватывающих, интерактивных, веб, настольных и мобильных, онлайн и оффлайн приложений.
Предварительно зарегистрируйтесь и Смотрите онлайн
График, время московское:

Время Выступающий Тема и краткое содержание
20:00  Scott Guthrie Будущее Silverlight
21:45   Jesse Liberty Стратегия привязки данных (Data Binding) в Silverlight и WP7
22:30  Yavor Georgiev Building Compelling Apps with WCF using REST and LINQ
23:15   Перерыв
00:00  Dan Wahlin Building Feature Rich Business Apps Today with RIA Services
00:45  John Papa MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns with Silverlight and WP7
1:45  Tim Heuer Tips and Tricks for a Great Installation Experience
2:30   Mike Cook &
  Jossef Goldberg
Настройка Вашего приложения: советы по профилированию и производительности
3:30  Jaime Rodriguez Советы по эффективности для Silverlight Windows Phone 7

Лабораторные работы:

Уровень 100: Первые шаги

  • Лаб 01 — WinForms и Silverlight
  • Лаб 02 — ASP.NET и Silverlight
  • Лаб 03 — XAML и Controls
  • Лаб 04 — Привязка данных (Data Binding)

Уровень 200: Готов к большему

  • Лаб 05 — Миграция приложений во внебраузерную среду
  • Лаб 06 — Great UX with Blend
  • Лаб 07 — Web Services and Silverlight
  • Лаб 08 — Using WCF RIA Services

Уровень 300: Идём ещё дальше

  • Лаб 09 — глубокое погружение во внебраузерную среду
  • Лаб 10 — Silverlight Patterns: Using MVVM
  • Лаб 11 — Silverlight и Windows Phone 7