Is there a way to do this without iterating through the List and adding the items to the ObservableCollection?
Even though I'm late, I wanna share a quick enhancement to Junior's answer: let the developer define the converter function used to convert observable collection objects from the source collection to the destination one.
Like the following:
public static ObservableCollection ToObservableCollection(this IEnumerable coll, Func converter)
{
var c = new ObservableCollection();
foreach (var e in coll)
{
c.Add(converter(e));
}
return c;
}