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: 
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
This is a good case for an extension method. It hides away the implementation in case it changes in future versions, can be modified in one place, and the calling code looks simpler and less confusing.

```
public static void Refresh<T>(this ObservableCollection<T> value)
{
    CollectionViewSource.GetDefaultView(value).Refresh();
}

```

Usage:

```
myCollection.Refresh();

```