public DownloadsVM(IDownloadManager downloadManager)
{
_downloadManager = downloadManager;
_downloadManager.DownloadAdded += DownloadManagerDownloadAdded;
_downloadManager.DownloadRemoved += DownloadManagerDownloadRemoved;
_downloadManager.DownloadingStarted += DownloadManagerDownloadingStarted;
_downloadManager.DownloadingStopped += DownloadManagerDownloadingStopped;
_mainThreadDispatcher = Dispatcher.CurrentDispatcher;
_mainThreadTaskScheduler = TaskScheduler.FromCurrentSynchronizationContext();
AdornerContent = new LoadingWaitVM();
_downloads = new ObservableCollection<IDownloadItem>();
Downloads = (ListCollectionView)CollectionViewSource.GetDefaultView(_downloads);
Downloads.SortDescriptions.Add(
new SortDescription(DownloadItem.PROP_DOWNLOAD_STATE, ListSortDirection.Ascending));
}