Загрузка изображения WPF для отображения задержки

Существует небольшая задержка от установки источника элемента управления изображением до фактического отображения.

Мне нужен способ узнать, когда именно отображается изображение, но я не могу найти никаких событий, к которым могу подключиться. Есть ли у кого-нибудь способ это обнаружить?

Ответов (1)

Решение

Предполагая, что ваше изображение представляет собой своего рода растровое изображение, создайте объект BitmapImage и используйте его событие DownloadCompleted.

Примеры, вызов ReadyToDisplay, когда образ будет готов:

из кода:

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

из XAML:

<Image>
   <Image.Source>
      <BitmapImage UriSource="/images/image.png" DownloadCompleted="ReadyToDisplay"/>
   </Image.Source>
</Image>

Я не тестировал эти образцы кода, поэтому в них могут быть опечатки.