diff --git a/src/Uno.UWP/UI/Core/WeakEventHelper.cs b/src/Uno.UWP/UI/Core/WeakEventHelper.cs index 478d1f660eae..9803c412b2dc 100644 --- a/src/Uno.UWP/UI/Core/WeakEventHelper.cs +++ b/src/Uno.UWP/UI/Core/WeakEventHelper.cs @@ -75,12 +75,11 @@ private bool Trim() { lock (_lock) { - for (int i = 0; i < _handlers.Count; i++) + for (int i = _handlers.Count - 1; i >= 0; i--) { if (!_handlers[i].Target.IsAlive) { _handlers.RemoveAt(i); - i--; } }