使用IFileOperation接口删文件遇ArgumentNullException问题求助
错误产生的原因
错误的核心原因是**FileOperationG1类的ParentWindow属性未被赋值,处于null状态**。
你在调用op.Execute()时,FileOperationG1内部的Execute方法会执行代码:
WindowInteropHelper wih = new WindowInteropHelper(ParentWindow);
由于你实例化FileOperationG1后没有为ParentWindow属性设置有效的WPF窗口对象,导致WindowInteropHelper的构造函数接收到null参数,触发了System.ArgumentNullException异常。
另外需要注意:你代码中连续两次给op.Flags赋值,第二次的FILEOP_FLAGS.FOF_ALLOWUNDO会完全覆盖第一次的FILEOP_FLAGS.FOF_NOCONFIRMATION。如果需要同时启用多个操作标志,应该使用按位或运算符组合:
op.Flags = FILEOP_FLAGS.FOF_NOCONFIRMATION | FILEOP_FLAGS.FOF_ALLOWUNDO;
内容的提问来源于stack exchange,提问作者Simos Sigma
相关产品推荐
相关产品推荐

