WPInfo
WPInfo

Reputation: 1076

Weak event pattern in 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?

Upvotes: 3

Views: 1007

Answers (1)

Michael Hawker - MSFT
Michael Hawker - MSFT

Reputation: 1580

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;

Upvotes: 3

Related Questions