Как воспроизвести и приостановить MediaElement? - PullRequest
1 голос
/ 08 июля 2019

Я хочу кратко воспроизвести MediaElement, а затем остановить его при добавлении элементов списка.Это похоже на видео миниатюру.Я динамически создал список, могу ли я его воспроизвести и остановить?

Main.xaml

<ListBox Grid.Row="0" x:Name="listBox" HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" AllowDrop="True" Drop="ListBox_Drop" DragEnter="ListBox_DragEnter" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Disabled" MouseMove="ListBox_MouseMove">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel IsItemsHost="True"/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Vertical">
                    <MediaElement Margin="3" x:Name="{Binding vName}" Source="{Binding Path}" Height="64" Stretch="Uniform" IsMuted="True"/>
                    <TextBlock Margin="3" Text="{Binding Name}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Main.xaml.cs

private void Add_Item(string file)
    {
        extension = Path.GetExtension(file);
        file_name = Path.GetFileName(file);
        if (extension.Equals(".mp4") || extension.Equals(".mwv") || extension.Equals(".avi"))
        {
            list.Add(new VideoListing()
            {
                Name = file_name,
                Path = file,
                vName = file_name,
            });
        }
        listBox.ItemsSource = list;
        listBox.Items.Refresh();
    }

VideoListing.CS

class VideoListing
{
    public string Name { get; set; }
    public string Path { get; set; }
    public string vName { get; set; }
}
...