我在WPF中使用WindowsAPICodePack的CommonSaveFileDialog来询问用户的文件名。为了在对话框关闭之前检查文件名,我有一个用于FileOk的处理程序。但是,如果我尝试获取FileName属性,就会抛出一个InvalidOperationException,说明在关闭对话框之前该属性不可用。
那么,在FileOk处理程序中,如何检索用户选择或输入的完整文件名呢?
发布于 2018-10-01 19:46:36
Hans Passant建议的一种可能的解决方法,无需修改源代码:
dialog.FileOk += (sender, e) =>
{
var filenames = new Collection<string>();
typeof(CommonFileDialog)
.GetMethod("PopulateWithFileNames", BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(dialog, new[] { filenames });
// use filenames
}https://stackoverflow.com/questions/10103324
复制相似问题