In WPF, there are some classes such as PropertyChangedEventManager and CollectionChangedEventManager which derive from WeakEventManager aiming to implement weak event pattern. Through weak event pattern, the memory leak problem in the normal event has been solved.
But I cannot find these classes in UWP SDK, since UWP also needs to handle PropertyChanged event of INotifyPropertyChanged and CollectionChanged event of INotifyCollectionChanged in data binding, so how does UWP solve the event memory leak problem?
The UWP Community Toolkit has a WeakEventListener. Would that work for you?
Example here:
WeakEventListener<SampleClass, object, EventArgs> weak = new WeakEventListener<SampleClass, object, EventArgs>(sample);
weak.OnEventAction = (instance, source, eventArgs) => { isOnEventTriggered = true; };
weak.OnDetachAction = (listener) => { isOnDetachTriggered = true; };
sample.Raisevent += weak.OnEvent;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With