Image.ImageFailed Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возникает при возникновении ошибки, связанной с извлечением изображения или форматированием.
public:
virtual event ExceptionRoutedEventHandler ^ ImageFailed;
// Register
event_token ImageFailed(ExceptionRoutedEventHandler const& handler) const;
// Revoke with event_token
void ImageFailed(event_token const* cookie) const;
// Revoke with event_revoker
Image::ImageFailed_revoker ImageFailed(auto_revoke_t, ExceptionRoutedEventHandler const& handler) const;
public event ExceptionRoutedEventHandler ImageFailed;
function onImageFailed(eventArgs) { /* Your code */ }
image.addEventListener("imagefailed", onImageFailed);
image.removeEventListener("imagefailed", onImageFailed);
- or -
image.onimagefailed = onImageFailed;
Public Custom Event ImageFailed As ExceptionRoutedEventHandler
<Image ImageFailed="eventhandler"/>
Тип события
Комментарии
Условия, в которых может произойти это событие, включают:
- Файл не найден
- Недопустимый (неподдерживаемый или неподдерживаемый) формат файла
- Ошибка декодирования неизвестного формата файла после отправки
- Квалифицированная перезагрузка ресурса системой может использовать ErrorMessage в данных события для определения характера сбоя.
ImageFailed и ImageOpened являются взаимоисключающими. Одно событие или другое всегда будет запускаться всякий раз, когда изображение имеет значение источника или сброс.
Одним из сценариев обработки ImageFailed является установка UriSource базового источника BitmapImage в другой локальный файл образа. Это может служить резервным значением для отображения вместо пустого пространства. Например, если вы пытаетесь отобразить внешний образ, где возможно, что источник больше не существует, или если у пользователя нет подключения к Интернету, вы можете задать UriSource ссылку на локальный резервный или заполнитель образа, который является частью пакета приложения и всегда гарантированно доступен.
Если элемент Image отсутствует в динамическом визуальном дереве, элемент Image не будет запускать события ImageOpened или ImageFailed. Если необходимо получить эти события, пока элемент не в динамическом дереве, используйте BitmapImage. ImageOpened/События ImageFailed.
private void Image_ImageFailed(object sender, ExceptionRoutedEventArgs e) {
Image img = sender as Image;
BitmapImage fallbackImage = new BitmapImage(new Uri("ms-appx:///Images/fallback.png"));
img.Width = 100; //set to known width of this source's natural size
//might instead want image to stretch to fill, depends on scenario
img.Source = fallbackImage;
}
Ресурсы изображений
Ресурсы могут использовать шаблон квалификатора ресурсов для загрузки разных ресурсов в зависимости от масштабирования устройства. Любой ресурс, изначально полученный для приложения, автоматически вычисляется при изменении коэффициента масштабирования во время выполнения приложения. Кроме того, если этот ресурс является источником образа для объекта Image , то один из событий исходной загрузки (ImageOpened или ImageFailed ) запускается в результате действия системы запроса нового ресурса и последующего применения его к Image. Сценарий, в котором может произойти изменение масштаба выполнения, заключается в том, что пользователь перемещает приложение в другой монитор, если доступно несколько. В результате события ImageOpened или ImageFailed могут происходить во время выполнения при обработке изменения масштаба, даже в случаях, когда источник установлен в XAML.