Silverlight 中的保存对话框
Posted
技术标签:
【中文标题】Silverlight 中的保存对话框【英文标题】:Save Dialog box in Silverlight 【发布时间】:2014-11-05 11:17:28 【问题描述】:我正在开发 Silverlight 5,
应用程序具有将用户本地电脑中的数据保存为 CSV 等功能。在开发功能时,它在我们的本地 PC 上运行完美。当我们单击“导出”按钮时,会出现保存文件对话框并保存在选定位置。但是在我们的服务器上部署后保存文件对话框不会出现在屏幕上。
dialog = new SaveFileDialog();
dialog.DefaultFileName = "Exported Data";
dialog.Filter = string.Format("File Type (*0) | *0", (".csv"));
dialog.DefaultExt = string.Format("0", ("csv"));
//Show the dialog
bool? dialogResult = dialog.ShowDialog();
【问题讨论】:
【参考方案1】:确保在“导出”按钮单击事件之后立即调用 ShowDialog() 方法,这是 Silverlight 安全功能。
见:http://msdn.microsoft.com/en-au/library/system.windows.controls.savefiledialog(v=vs.95).aspx
您使用 ShowDialog 方法显示一个保存对话框控件。出于安全目的,Silverlight 文件和打印对话框必须由用户启动。这意味着您必须从用户启动的操作(例如按钮的单击事件处理程序)中显示它们。此外,在用户启动对话和显示对话之间允许的时间有限制。如果超过这些动作之间的时间限制,就会发生异常。
【讨论】:
以上是关于Silverlight 中的保存对话框的主要内容,如果未能解决你的问题,请参考以下文章
Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动
Silverlight 的 SaveFileDialog 给出错误“对话框必须由用户启动”