diff --git a/Microsoft.Toolkit.Uwp.UI.Controls.Core/TileControl/TileControl.cs b/Microsoft.Toolkit.Uwp.UI.Controls.Core/TileControl/TileControl.cs index 97bf7d111ec..e6337603864 100644 --- a/Microsoft.Toolkit.Uwp.UI.Controls.Core/TileControl/TileControl.cs +++ b/Microsoft.Toolkit.Uwp.UI.Controls.Core/TileControl/TileControl.cs @@ -173,9 +173,11 @@ private async Task LoadImageBrushAsync(Uri uri) var loadCompletedSource = new TaskCompletionSource(); _brushVisual = compositor.CreateSurfaceBrush(_imageSurface); - _imageSurface.LoadCompleted += (s, e) => + void LoadCompleted(LoadedImageSurface sender, LoadedImageSourceLoadCompletedEventArgs args) { - if (e.Status == LoadedImageSourceLoadStatus.Success) + sender.LoadCompleted -= LoadCompleted; + + if (args.Status == LoadedImageSourceLoadStatus.Success) { loadCompletedSource.SetResult(true); } @@ -183,7 +185,9 @@ private async Task LoadImageBrushAsync(Uri uri) { loadCompletedSource.SetException(new ArgumentException("Image loading failed.")); } - }; + } + + _imageSurface.LoadCompleted += LoadCompleted; await loadCompletedSource.Task; _imageSize = _imageSurface.DecodedPhysicalSize;