private void SourceItem_Expanded(object sender, RoutedEventArgs e) { try { var treeViewItem = sender as TreeViewItem; if (treeViewItem != null) { var source = treeViewItem.Header as ISource; if (source != null) { if (source is FileSystemSource || source is DirectorySource) { sourceController.LoadDirectories(source); } if (source is PodcastSource) { sourceController.LoadPodcast(source, this); } if (source is SpiderSource) { sourceController.LoadSpider(source, this); } if (source is DeviceCatalogSource) { if (source.Children.Count() == 1 && source.Children.FirstOrDefault() is ProxySource) { sourceController.LoadDevices(source, this); } } if (source is YouTubeUserSource) { //if (source.Children.Count() == 1 && source.Children.FirstOrDefault() is ProxySource) //{ sourceController.LoadYouTubeUser(source, this); //} } foreach (var child in source.Children) { var playlistItem = child as PlaylistItemSource; if (playlistItem != null) { if (!string.IsNullOrEmpty(playlistItem.Path) && playlistItem.ImageData == null) { LoadPicture(playlistItem); } } } } } } catch (Exception ex) { log.Error("SourceItem_Expanded", ex); } }