private void searchResultItem_DoubleClick(object sender, MouseEventArgs e) { try { var element = e.OriginalSource as UIElement; if (element == null) { return; } var listBoxItem = element.FindContainingItem <ListBoxItem>(); if (listBoxItem == null) { return; } var viewModel = listBoxItem.DataContext as ISearchResultViewModel; if (viewModel == null) { return; } var playlist = viewModel.ToPlaylist(securityContext, mediaFactory); if (playlist == null) { return; } var taskViewModel = taskController.GetPlaylistViewModel(playlist); taskResultView.Playlist(taskViewModel, playlist); } catch (Exception ex) { logger.Error(" SearchResultView.searchResultItem_DoubleClick", ex); } }