OpenFileDialog.ShowDialog()在Silverlight中引发InvalidOperationEx
本文关键字:InvalidOperationEx Silverlight ShowDialog OpenFileDialog | 更新日期: 2023-09-27 18:12:01
下面是我的代码片段。
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 - 959 - f - 6 - dc4d347ebf7/这篇文章是关于打开文件对话框中的多重选择。但我没有设置Multiselect属性为True。这个问题不常发生,不能重复。
有人有同样的问题吗?
你可以试试:
OpenFileDialog dialog = new OpenFileDialog()
{
Filter = "Excel Files (*.xlsx,*.xls)|*.xlsx,*.xls"
};
if (dialog.ShowDialog() == false)
{
IsCommiting = false;
return;
}
else
{
Items.Clear();
}
虽然这听起来有点奇怪-因为OpenFileDialog实际上打开了一个资源管理器窗口(执行shell扩展),你有没有考虑过,禁用所有shell扩展的ShellExView?
尝试如下:
if (dialog.ShowDialog() != DialogResult.OK)