Question: I have a listbox with items bound to an ObservableCollection.

Now, from within the viewModel, I need to cause an update to the UI.
I dont have a refernce to the listbox from my view model.

If I remove or add an item from my ObservableCollection, the ui gets updated.

Based on some other logic I need to update the UI...but the ObservableCollection is the same.

How can I update the UI WITHOUT either adding or removing items from my ObservableCollection?

Thanks

Answer: 
If you need to change your UI because you've edited the items *in* your collection, then you should arrange for those items to implement the `INotifyPropertyChanged` interface. If the objects within your collection have a `PropertyChanged` event, the UI will be listening for that event from individual items. (If possible, you could also change the items in your collection to be `DependencyObjects` with `DependencyProperties`, which accomplishes the same goal.)

If you *really* need to trigger a UI update when *nothing at all* about your collection has changed, the way to do it is to manually raise the `CollectionChanged` event. This can't be done with the `ObservableCollection<>` as is, but you could derive a new collection from that class, and call the `protected OnCollectionChanged` method from within some new, `public` method.
I've had a similar issue where I wanted to change the background on an item, but obviously neither the item nor the collection changed. 

It was achieved by calling: 

```
CollectionViewSource.GetDefaultView(your_collection_name).Refresh();

```

This refreshed the view from the view model without altering the collections