2012-04-04 5 views
1

Я устанавливаю фоновое изображение на моей сетке XAML с помощью Uri. Uri указывает на URL-адрес HTTP, где он будет извлекаться, а затем отображать изображение в качестве фона для приложения для метро Win8.Событие XAML для фонового изображения, снятого с экрана

Я пытался выяснить, есть ли какое-то событие или что-то, на что я могу подключиться, чтобы сообщить, что WPF загрузил его в память, и закончил визуализацию его вне поля зрения.

В настоящее время небольшое изображение загружается достаточно быстро и плавно исчезает. Однако, если я загружаю более крупное и более медленное изображение, для отображения в качестве фона потребуется 100 с мс, что означает, что он либо всплывает в середине -fade, или после завершения эффекта затухания. Это выглядит довольно бедно.

Цель состоит в том, чтобы перейти к переходу между страницами приложения (у меня уже есть), без несогласованности фонового изображения, появляющегося всякий раз, когда это делается.

Любые предложения приветствуются.

+0

ли WPF или XAML/WinRT (ака Metro)? Не то же самое. – jv42

+0

Извините, это XAML/WinRT. –

ответ

3

Вы не указали точно, как вы загружаете изображение, но есть событие DownloadCompleted в BitmapImage, например.

BitmapImage bmp = new BitmapImage(imageUri); 
bmp.DownloadCompleted += ReadyToDisplay; 
0

Как Фил сказал, но для приложений Windows Store:

BitmapImage bmp = new BitmapImage(imageUri); 
bmp.ImageOpened += ReadyToDisplay; 

ImageOpened Происходит, когда исходное изображение загружается и декодируется без каких-либо сбоя. Вы можете использовать это событие, чтобы определить размер изображения перед его рендерингом.

Источник: MSDN

Смежные вопросы