I have found out that I am "doing WPF wrong" and frustratingly must overhaul alot of my code.

How could I convert the following:

```
public static class SortName 
    {
       public static  int Compare(Person a, Person b)
        {
            return a.Name.CompareTo(b.Name);
        }

    }

```

and I call it like:

```
list.Sort(SortName.Compare);

```

to the format required for ObservableCollection. And how would I call it. So far i've tried this following based on what I read [here](http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/5909dbcc-9a9f-4260-bc36-de4aa9bbd383)

```
class ObservableCollectionSortName<T> : ObservableCollection<T> 
{
    public int Compare (Person a, Person b)
    {
        return a.Name.CompareTo(b.Name);
    }
}

```