KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
What I want to do is ensure that if the only reference to my observer is the observable, it get's garbage collected and stops receiving messages. Say I have a control with a list box on it called Messages and this code behind: //Short lived display of messages (only while the user's viewing incoming messages) public partial class MessageDisplay : UserControl { public MessageDisplay() { InitializeComponent(); MySource.IncomingMessages.Subscribe(m => Messages.Items.Add(m)); } } Which is connecting to this source: //Long lived location for message store static class MySource { public readonly static IObservable<string> IncomingMessages = new ReplaySubject<string>; } What I don't want is to have the Message Display being kept in memory long after it's no longer visible. Ideally I'd like a little extension so I can write: MySource.IncomingMessages.ToWeakObservable().Subscribe(m => Messages.Items.Add(m)); I also don't want to rely on the fact that MessageDisplay is a user control as I will later want to go for an MVVM setup with MessageDisplayViewModel which won't be a user control.
Tags (comma-separated)
Save Edits
Cancel