首页 > 解决方案 > 为什么 openfiledialog 在第二次选择文件后显示“路径不存在”或“灾难性错误”?

问题描述

我正在尝试显示文件。当用户选择一个文件时,它会在窗口中显示该文件的图标。当我选择 Google Chrome 图标并单击 中的“确定”时openfiledialog,就会出现预期的结果。(见下图)

在此处输入图像描述

在此处输入图像描述

但是,当我选择另一个图标(例如 Word)时,它给了我错误“路径不存在”。(见下图)

在此处输入图像描述

在此处输入图像描述

如果我选择另一个文件(例如文件资源管理器),它会给我“灾难性错误”(见下图)

在此处输入图像描述

在此处输入图像描述

出于某种原因,此问题仅发生在快捷方式文件中。对于 .txt 文件或 .exe 文件等其他文件,不会出现此问题。

这是我的代码(Add_Item 是按钮的名称)

private void AddItem_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            if (openFileDialog.ShowDialog() == true)
            {
                foreach (String myfile in openFileDialog.FileNames)
                {
                    // here myfile represent your selected file name

                    //get filename
                    string filename = System.IO.Path.GetFileName(myfile);

                    //TODO: Create settings


                    Icon icon1 =  System.Drawing.Icon.ExtractAssociatedIcon(myfile);
                    Bitmap icon = icon1.ToBitmap();

                    System.Windows.Controls.Image image = new System.Windows.Controls.Image();
                    image.Source = BitmapToImageSource(icon);

                    Tiles.Children.Add(image);



                }
            }
        }

谁能帮我?

谢谢

标签: c#wpffileopenfiledialog

解决方案


好的,{DeferenceLinks = false}解决了我的问题。


推荐阅读