Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF处理列表框中的文件_C#_Wpf_Video_Listbox_Mp4 - Fatal编程技术网

C# WPF处理列表框中的文件

C# WPF处理列表框中的文件,c#,wpf,video,listbox,mp4,C#,Wpf,Video,Listbox,Mp4,我打算创建一个.mp4列表框,从中可以播放我选择的.mp4。 我已经创建了.mp4播放器(通过拖放),我正在处理如何处理列表框的问题 private void button1_Click(object sender, RoutedEventArgs e) { var dialog = new System.Windows.Forms.FolderBrowserDialog(); System.Windows.Forms.DialogResu

我打算创建一个.mp4列表框,从中可以播放我选择的.mp4。 我已经创建了.mp4播放器(通过拖放),我正在处理如何处理列表框的问题

        private void button1_Click(object sender, RoutedEventArgs e)
    {
        var dialog = new System.Windows.Forms.FolderBrowserDialog();
        System.Windows.Forms.DialogResult result = dialog.ShowDialog();
        try
        {
            DirectoryInfo dr = new DirectoryInfo(dialog.SelectedPath.ToString());
            if (result == FORMS.DialogResult.OK)
            {
                foreach (FileInfo f in dr.GetFiles())
                {
                    listBox1.Items.Add(f);
                }
            }
        }
        catch { }
    }
这只允许我获取列表框中显示的所有.mp4文件(来自选定文件夹), 如何将对象从列表框拖动到.mp4播放器中(该播放器已启用拖放功能)。

您可以使用该方法完成此操作

例如:

    <ListBox SelectionChanged="Selector_OnSelectionChanged">
        <ListBoxItem>X</ListBoxItem>
        <ListBoxItem>Y</ListBoxItem>
        <ListBoxItem>Z</ListBoxItem>
    </ListBox>
可能在mp4播放器中,您需要实现的不仅仅是启用拖放功能(例如提取拖动的项目并播放它…)

您可以在上找到有关的更多信息

希望这有帮助(非常感谢,真的很有帮助!你对.mp4播放器的看法是对的,他确实需要确定拖到他身上的阻力,但我就是不知道怎么做。通过直接从您的计算机(例如桌面)拖动.mp4,我成功地编写了播放.mp4的代码,下面是代码:

        private void Grid_Drop(object sender, DragEventArgs e)
    {
        string filename = (string)((DataObject)e.Data).GetFileDropList()[0];
        mediaElement1.Source =new Uri(filename);
        mediaElement1.LoadedBehavior = MediaState.Manual;
        mediaElement1.UnloadedBehavior = MediaState.Manual;
        mediaElement1.Volume = (double)slider_vol.Value;
        mediaElement1.Play();
    }
该代码还有其他附加组件,但它们并不重要。
我应该在播放器的“播放”按钮上使用什么拖放功能?我如何获得文件名来实际处理该文件?谢谢

我认为你们正在寻找这个“WPF处理列表框中的文件”是一个非常误导性的标题。标签也一样。ATM,建议的编辑队列已满。我想指出的是,我愿意让标题更具体,并纠正那些不合适的标签,只是我不能。
        private void Grid_Drop(object sender, DragEventArgs e)
    {
        string filename = (string)((DataObject)e.Data).GetFileDropList()[0];
        mediaElement1.Source =new Uri(filename);
        mediaElement1.LoadedBehavior = MediaState.Manual;
        mediaElement1.UnloadedBehavior = MediaState.Manual;
        mediaElement1.Volume = (double)slider_vol.Value;
        mediaElement1.Play();
    }