LoadedImageSurface.LoadCompleted Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при скачивании, декодировании и загрузке изображения в базовый интерфейс ICompositionSurface.
// Register
event_token LoadCompleted(TypedEventHandler<LoadedImageSurface, LoadedImageSourceLoadCompletedEventArgs const&> const& handler) const;
// Revoke with event_token
void LoadCompleted(event_token const* cookie) const;
// Revoke with event_revoker
LoadedImageSurface::LoadCompleted_revoker LoadCompleted(auto_revoke_t, TypedEventHandler<LoadedImageSurface, LoadedImageSourceLoadCompletedEventArgs const&> const& handler) const;
public event TypedEventHandler<LoadedImageSurface,LoadedImageSourceLoadCompletedEventArgs> LoadCompleted;
function onLoadCompleted(eventArgs) { /* Your code */ }
loadedImageSurface.addEventListener("loadcompleted", onLoadCompleted);
loadedImageSurface.removeEventListener("loadcompleted", onLoadCompleted);
- or -
loadedImageSurface.onloadcompleted = onLoadCompleted;
Public Custom Event LoadCompleted As TypedEventHandler(Of LoadedImageSurface, LoadedImageSourceLoadCompletedEventArgs)
<LoadedImageSurface LoadCompleted="eventhandler"/>
Тип события
Примеры
В этом примере мы зададим размер SpriteVisual в точности в соответствии с декодируемым размером успешно загруженного объекта LoadedImageSurface.
private Load_Completed(LoadedImageSurface sender, LoadedImageSourceLoadCompletedEventArgs e)
{
if(e.Status == LoadedImageSourceLoadStatus.Success){
// imageVisual is a SpriteVisual than has been previously created and whose brush references the LoadedImageSurface
Size decodedSize = sender.DecodedSize;
imageVisual.Size = new Vector2((float)decodedSize.Width, (float)decodedSize.Height);
} else {
// Handle a load failure
}
}
Комментарии
Экземпляр LoadedImageSurface не будет иметь загруженного изображения или сведений о размере, пока не срабатывает это событие. Событие LoadCompleted срабатывает независимо от успешного или неудачного выполнения. Для определения состояния можно использовать LoadedImageSourceLoadCompletedEventArgs .
Событие LoadCompleted возникает каждый раз, когда поверхность экземпляра LoadedImageSurface заполняется изображением. В том числе:
- При первой инициализации LoadedImageSurface
- Устройство восстанавливается после потерянного состояния
- Изменение DPI приводит к загрузке другого источника образа.
- Приложение восстанавливается после нехватки памяти
Событие LoadCompleted часто используется для создания временного изображения, если для загрузки или изменения размера визуального элемента источника изображения может потребоваться много времени.