mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2026-04-04 14:08:32 +00:00
Added overridable method TileImageLoader.LoadImageAsync(byte[])
This commit is contained in:
parent
c7b0bcb1c1
commit
fa160ff138
3 changed files with 80 additions and 77 deletions
|
|
@ -11,15 +11,17 @@ namespace MapControl
|
|||
{
|
||||
public partial class TileImageLoader
|
||||
{
|
||||
private static async Task LoadTileAsync(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
private static Task<object> LoadTileAsync(Tile tile, Func<Task<ImageSource>> loadImageFunc)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<object>();
|
||||
|
||||
async void callback()
|
||||
async void LoadTileImage()
|
||||
{
|
||||
try
|
||||
{
|
||||
tile.SetImageSource(await loadImageFunc());
|
||||
var image = await loadImageFunc();
|
||||
|
||||
tile.SetImageSource(image);
|
||||
tcs.TrySetResult(null);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -28,9 +30,9 @@ namespace MapControl
|
|||
}
|
||||
}
|
||||
|
||||
await tile.Image.Dispatcher.RunAsync(CoreDispatcherPriority.Low, callback);
|
||||
_ = tile.Image.Dispatcher.RunAsync(CoreDispatcherPriority.Low, LoadTileImage);
|
||||
|
||||
await tcs.Task.ConfigureAwait(false);
|
||||
return tcs.Task;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue