2

下面是我的代码片段。

OpenFileDialog dialog = new OpenFileDialog()
{
    Filter = "Excel Files (*.xlsx;*.xls;)|*.xlsx;*.xls;",
};

if (dialog.ShowDialog().Value == false)
{
    IsCommiting = false;
    return;
}
else
{
    Items.Clear();
}

调用 dialog.ShowDialog() 时,引发 InvalidOperationException 并显示此消息“ShowDialog failed.”。

我通过谷歌搜索找到了一篇相关文章。 http://social.msdn.microsoft.com/Forums/en-US/silverlightmvvm/thread/6ae9454b-b5ba-4286-959f-6dc4d347ebf7/

本文是关于打开文件对话框中的多选。但我没有将 Multiselect 属性设置为 True。这个问题不经常发生,并且无法重现。

有没有人遇到同样的问题?

4

3 回答 3

1

你能试一下吗:

OpenFileDialog dialog = new OpenFileDialog()
{    
     Filter = "Excel Files (*.xlsx,*.xls)|*.xlsx,*.xls"
};

if (dialog.ShowDialog() == false)
{
    IsCommiting = false;
    return;
}
else
{
    Items.Clear();
}
于 2013-05-03T05:58:45.197 回答
0

虽然听起来有点奇怪 - 因为 OpenFileDialog 实际上会打开一个资源管理器窗口(它执行 shell 扩展),但您是否考虑过通过ShellExView禁用所有 shell 扩展?

于 2013-05-03T15:44:35.947 回答
0

尝试以下操作:

if (dialog.ShowDialog() != DialogResult.OK)
于 2016-07-11T12:37:57.747 回答