Added overridable method TileImageLoader.LoadImageAsync(byte[])

This commit is contained in:
ClemensFischer 2025-01-16 19:57:00 +01:00
parent c7b0bcb1c1
commit fa160ff138
3 changed files with 80 additions and 77 deletions

View file

@ -15,11 +15,13 @@ namespace MapControl
{
var tcs = new TaskCompletionSource();
async void callback()
async void LoadTileImage()
{
try
{
tile.SetImageSource(await loadImageFunc());
var image = await loadImageFunc();
tile.SetImageSource(image);
tcs.TrySetResult();
}
catch (Exception ex)
@ -28,7 +30,10 @@ namespace MapControl
}
}
tile.Image.DispatcherQueue.TryEnqueue(DispatcherQueuePriority.Low, callback);
if (!tile.Image.DispatcherQueue.TryEnqueue(DispatcherQueuePriority.Low, LoadTileImage))
{
tcs.TrySetCanceled();
}
return tcs.Task;
}