在WPF中,有一些类,例如PropertyChangedEventManager
和CollectionChangedEventManager
,它们派生自WeakEventManager
,旨在实现弱事件模式。通过弱事件模式,解决了正常事件中的内存泄漏问题。
但我在UWP SDK中找不到这些类,因为UWP还需要在数据绑定中处理PropertyChanged
INotifyPropertyChanged
事件CollectionChanged
事件INotifyCollectionChanged
,所以如何UWP解决了事件内存泄漏问题吗?
答案 0 :(得分:2)
UWP Community Toolkit有一个WeakEventListener。这对你有用吗?
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;