No WinRT, como carrego uma imagem e aguardo apenas o tempo necessário para que ela seja carregada antes de gravar nela?

Estou usando o WriteableBitmapEx em um projeto do WinRT. Carrego uma imagem em um WriteableBitmap da biblioteca de imagens dos usuários. No entanto, não posso escrever imediatamente para essa imagem, se o fizer, será sobrescrito com a própria imagem (parece que está carregando Async Async e, em seguida, está substituindo o meu desenho em cima dele). Não sei como impedir que isso seja feito (tentei usar o Await no SetSource, mas esse não é um método Async).

Eu usei um "Await Task.Delay (1000)" e que funciona, mas parece hacky porque 1000ms pode ou não ser tempo suficiente .. Eu gostaria que ele espere até que o bitmap é carregado antes de prosseguir.

Alguém pode parecer errado sobre o que estou fazendo errado ou sugerir como posso garantir que o WriteableBitmap seja carregado a partir da biblioteca de imagens antes de fazer qualquer processamento? Aqui está o trecho de código de exemplo que eu criei:

<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>

questionAnswers(3)

yourAnswerToTheQuestion