Reputation: 1076
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
Reputation: 1580
The UWP Community Toolkit has a WeakEventListener. Would that work for you?
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