//Criar uma Thread para voltar ao método private void PreencherListaDeMidia() { try { //System.Windows.MessageBox.Show("Entrei no método Preencher Lista de Midia - Fora do If"); if (Player.NaturalDuration.HasTimeSpan) { //System.Windows.MessageBox.Show("Entrei no método Preencher Lista de Midia"); StackLista.Children.Clear(); ListaDeMedia = controladorDeMidias.ListMediaInfo(); for (int i = 0; i < ListaDeMedia.Count; i++) { ButtonMiniaturaVideo mediaInfo = new ButtonMiniaturaVideo(); mediaInfo.Name = "media_" + i; //O nome do vídeo é atribuído ao TextBlock mediaInfo.TxtNomeDoVideo.Text = ListaDeMedia[i].Nome; //Captura um frame do vídeo. É passado a duração do video e o caminho para que seja //capturado um frame aleatório controladorDeMidias.CapturarImagem(Player.NaturalDuration.TimeSpan.TotalSeconds, caminho); //O frame capturado é passado para exibição dentro do media element mediaInfo.MiniaturaMedia.Source = new Uri(ListaDeMedia[i].CaminhoDaImagem); StackLista.Children.Add(mediaInfo); } } } catch (Exception e) { System.Windows.MessageBox.Show("Não foi possível carregar a lista de mídias. ERROR: " + e.Message); } }
private void StackLista_Click(object sender, RoutedEventArgs e) { try { //FrameworkElement feSource = e.Source as FrameworkElement; ButtonMiniaturaVideo feSource = e.Source as ButtonMiniaturaVideo; Player.Source = new Uri(controladorDeMidias.RetornaMediaSelecionada(feSource.TxtNomeDoVideo.Text.ToString())); } catch (Exception error) { System.Windows.MessageBox.Show("Não foi possível carregar a mídia selecionada ERRO: " + error.Message); } }