C# 在MediaElement控件WPF中检索匹配名称的视频

C# 在MediaElement控件WPF中检索匹配名称的视频,c#,wpf,video,wpf-controls,C#,Wpf,Video,Wpf Controls,我想播放在文本框中输入名称的视频。但它不会播放文件夹中的第一个视频。请帮忙 代码 String vid_name = data.Text; string complete_name = vid_name.ToLower() + ".mp4"; string root = System.IO.Path.GetDirectoryName("D:/abc"); string[] supportedExtensions = new[] {

我想播放在文本框中输入名称的视频。但它不会播放文件夹中的第一个视频。请帮忙

代码

        String vid_name = data.Text;
        string complete_name = vid_name.ToLower() + ".mp4";
        string root = System.IO.Path.GetDirectoryName("D:/abc");
        string[] supportedExtensions = new[] { ".mp4" };
        var files = Directory.GetFiles(Path.Combine(root, "Videos"), "*.*").Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower()));

        List<VideosDetail> videos = new List<VideosDetail>();

        VideosDetail id;
        foreach (var file in files)
        {
            id = new VideosDetail()
            {
                Path = file,
                FileName = Path.GetFileName(file),
                Extension = Path.GetExtension(file)
            };


            FileInfo fi = new FileInfo(file);
            id.FileName = fi.Name;
            id.Size = fi.Length;
            videos.Add(id);
             if (id.FileName == complete_name)
            {
          VideoList.ItemsSource = videos; //**Problem comes here
            } 
            else
            {
                MessageBox.Show("no such video is available. ");
            }

        }
String vid_name=data.Text;
字符串complete_name=vid_name.ToLower()+“.mp4”;
字符串root=System.IO.Path.GetDirectoryName(“D:/abc”);
字符串[]supportedExtensions=new[]{.mp4};
var files=Directory.GetFiles(Path.Combine(root,“Videos”),“*”)。其中(s=>supportedExtensions.Contains(Path.GetExtension.ToLower());
列表视频=新建列表();
VideosDetailID;
foreach(文件中的var文件)
{
id=新的VideosDetail()
{
路径=文件,
FileName=Path.GetFileName(文件),
Extension=Path.GetExtension(文件)
};
FileInfo fi=新的FileInfo(文件);
id.FileName=fi.Name;
id.尺寸=fi.长度;
视频。添加(id);
if(id.FileName==完整的\u名称)
{
VideoList.ItemsSource=videos;//**问题出现在这里
} 
其他的
{
Show(“没有这样的视频可用”);
}
}

因为视频是一个列表,所以

VideoList.ItemsSource=视频

指向文件夹中的所有视频(直到与您输入的文件名匹配的视频)。因此,产生了不想要的结果

您可能应该传递列表中视频的索引,例如:

player.Source=视频[x]

希望这有帮助