Поделиться через


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 часто используется для создания временного изображения, если для загрузки или изменения размера визуального элемента источника изображения может потребоваться много времени.

Применяется к