A learning from ObservableCollection

Yesterday, I was working on my hobby project (which is going to be released any day soon), I faced a weird issue. I wanted to create a list of ScheduledNotification (reminders/alerts) and show them to user. Obvious choice for the list was ObservableCollection, to automate the UI updates. So, I followed these steps to create that collection and bind it to UI. First, let’s understand what is going here and then we’ll solve the issue.

Step 01: Creating ObservableCollection and binding it to ListBox:


Step 02: On a click of a button, create random reminders, get those collections in list and add them to ObservableCollection.


Step 03: Removing the objects from ObservableCollection

Usually, to remove the objects, any developer will use Remove() method on this collection like:


However, this method not only failed to remove this object, but when I tried searching for “rem2” in the collection, it returned false, –1. Stating that object doesn’t exists.


So, what is the issue. To solve this mystery, we need to go back and revisit the OOP concept i.e. two classes are same only if they’re pointing (or referring) to same location. Here, ObservabaleCollection stored a different location and returned me false.

To, solve this issue, a different kind of logic needs to be applied and i.e.:


This is the perfect example, where we need to always remember the fundamentals of OOP.

I hope, it helps.


Mayur Tendulkar | www.mayurtendulkar.com

Published by

Mayur Tendulkar

Struggling Juggler at Dyte

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.