Главная » Разработка для Windows Phone 7 » Элемент Image в Silverlight

0

Аналогичное приложение на Silverlight даже еще проще. Создадим проект SilverlightLocalBitmap. Сначала создадим в проекте папку для хранения растрового изображения. Это не обязательно, но делает проект более аккуратным. Обычно разработчики называют эту папку Images (Рисунки), Media (Мультимедиа) или Assets (Ресурсы) в зависимости от типов файлов, для которых она предназначается. Щелкните

правой кнопкой мыши имя проекта, выберите Add и затем New Folder (Новая папка). Назовем ее Images. Затем щелкаем правой кнопкой мыши имя папки и выбираем Add и Existing Item. Переходим к файлу Hello.png. (Если вы самостоятельно создали другой растровый рисунок, не забывайте, что Silverlight поддерживает только файлы в формате JPEG и PNG.)

Из кнопки Add выберите Add или Add as Link (Добавить как ссылку). Если выбрана опция Add, файл будет физически скопирован в подпапку проекта. При выборе Add as Link в проекте будет сохранена только ссылка на файл, но файл изображения все равно будет скопирован в исполняемый файл.

Заключительный шаг – щелкаем правой кнопкой мыши имя файла растрового изображения и открываем Properties. Убеждаемся, что Build Action (Действие при сборке) имеет значение Resource (Ресурс). Можно изменить значение Build Action на Content, но давайте пока оставим его неизменным, и остановимся на различиях несколько позже.

В Silverlight элемент Image используется для отображения растровых изображений точно так же, как элемент TextBlock используется для отображения текста. Задайте в качестве значения свойства Source (Источник) элемента Image путь к файлу растрового изображения в проекте:

Проект Silverlight: SilverlightLocalBitmap Файл: MainPage.xaml (фрагмент)

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

<Image Source="Images/Hello.png" /> </Grid>

Изображение несколько отличается от обеспечиваемого приложением на XNA, и дело не только в заголовках. По умолчанию элемент Image расширяет или растягивает растровое изображение максимально, как только возможно, для заполнения контейнера (сетки для содержимого), сохраняя при этом его пропорции. Особенно это заметно, если задать атрибуту SupportedOrientations начального тега PhoneApplicationPage значение PortraitOrLandscape и повернуть телефон на бок:

Если требуется вывести растровое изображение в его натуральную величину, задайте свойству Stretch элемента Image значение None:

<Image Source="Images/Hello.png" Stretch="None" />

Больше вариантов будет рассмотрено в главе 8.

Источник: Чарльз Петзольд, Программируем Windows Phone 7, Microsoft Press, © 2011.

По теме:

  • Комментарии