En WinRT, ¿cómo puedo cargar una imagen y luego esperar solo el tiempo necesario para que se cargue antes de escribir en ella?

Estoy usando WriteableBitmapEx en un proyecto WinRT. Cargo una imagen en WritableBitmap desde la biblioteca de imágenes de los usuarios. Sin embargo, no puedo escribir inmediatamente en esa imagen; si lo hago, se sobrescribirá con la imagen en sí misma (parece que es Async cargando la imagen y luego está sobreescribiendo mi dibujo encima de ella). No sé cómo evitar que eso suceda (intenté usar Await en SetSource, pero no es un método Async).

He utilizado un "Await Task.Delay (1000)" y funciona, pero parece complicado porque 1000ms puede ser suficiente o no. Me gustaría que esperara hasta que se cargue el mapa de bits antes de continuar.

¿Alguien puede ver lo que estoy haciendo mal o sugerir cómo puedo asegurarme de que WriteableBitmap se carga desde la biblioteca de imágenes antes de procesar? Aquí está el fragmento de código de ejemplo que he creado:

<code>Dim file = Await picker.PickSingleFileAsync

If file Is Nothing Then
    Exit Sub
End If

Dim wbm As New WriteableBitmap(1, 1)
wbm.SetSource(Await file.OpenAsync(Windows.Storage.FileAccessMode.Read))

' If I don't have this, the DrawLine will not show up, if I do, it will.
Await Task.Delay(1000)

wbm.DrawLine(1, 1, 255, 255, Colors.Green)
wbm.Invalidate()

ImageMain.Source = wbm
</code>

Respuestas a la pregunta(3)

Su respuesta a la pregunta