Tôi đang đăng ký và hủy đăng ký các sự kiện lăng kính bằng cách sử dụng mã bên dưới trong ClassA. Vấn đề tôi gặp phải là sau Tôi hủy đăng ký và một lớp hoàn toàn khác, ClassB, với một trình đăng ký xử lý khác cho cùng một sự kiện, trình xử lý ClassA vẫn được gọi. Tại sao điều này?Prism Hủy đăng ký với mã thông báo đăng ký không hoạt động
Tôi đã thử cả hủy đăng ký sử dụng mã thông báo cũng như phương thức ủy nhiệm được sử dụng khi đăng ký, cả hai đều không có kết quả.
SubscriptionToken _subscriptionToken;
//register subscription + handler
var pevent = GetEventAggregator().GetEvent<PriceSubscriptionEvent>();
_subscriptionToken = pevent.Subscribe(r =>
{
DataHandler(r);
return;
}, ThreadOption.BackgroundThread, false, null);
//Unsubscribe
var pevent = GetEventAggregator().GetEvent<PriceSubscriptionEvent>();
pevent.Unsubscribe(_subscriptionToken);
Người đàn ông, tôi đã có cùng một vấn đề này và cuối cùng đã giải quyết nó ... nhưng đó là hơn một năm trước và bây giờ tôi không thể nhớ những gì sửa chữa hoặc làm việc xung quanh. : \ – xanadont
http://stackoverflow.com/questions/4310663/wpf-prism-event-subcriptions-not-dying – xanadont
SubscriptionToken cũng triển khai IDisposable. Bạn đã cố gắng gọi Dispose thay vì gọi Hủy đăng ký trên EventAggregator? – Jehof