Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Weak event pattern in UWP

Tags:

c#

.net

xaml

uwp

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?

like image 439
WPInfo Avatar asked Jun 07 '26 08:06

WPInfo


1 Answers

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;
like image 91
Michael Hawker - MSFT Avatar answered Jun 10 '26 03:06

Michael Hawker - MSFT