以下是我的代码段。
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。这个问题不会经常发生,也无法复制。
有没有人遇到同样的问题?
答案 0 :(得分:1)
你可以尝试:
OpenFileDialog dialog = new OpenFileDialog()
{
Filter = "Excel Files (*.xlsx,*.xls)|*.xlsx,*.xls"
};
if (dialog.ShowDialog() == false)
{
IsCommiting = false;
return;
}
else
{
Items.Clear();
}
答案 1 :(得分:0)
虽然听起来有点奇怪 - 因为OpenFileDialog实际上打开了一个资源管理器窗口(执行shell扩展),你考虑过,ShellExView禁用所有shell扩展吗?
答案 2 :(得分:0)
尝试以下方法:
if (dialog.ShowDialog() != DialogResult.OK)