Захват экрана 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.

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