在我的WPF应用中,我正在使用Datagrid
控件;在控件定义中,我将ClipboardCopyMode
属性定义为'IncludeHeader'。
<DataGrid Name="datagrid" ClipboardCopyMode="IncludeHeader">
</DataGrid>
有时,当我尝试从网格中复制任何数据时,我遇到HRESULT
剪贴板崩溃错误 -
System.Runtime.InteropServices.COMException (0x800401D0):
OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
有任何解决方法的建议。我查看了其他帖子,主要是当您明确使用Clipboard
相关方法但没有与Datagrid
相关时如何处理此方案。
答案 0 :(得分:4)
在http://blogs.infragistics.com/forums/t/35379.aspx -
的安德鲁史密斯发现了这个从技术上讲,只有1个进程可以打开剪贴板,如果是另一个进程 进程有它打开后续请求将失败,直到 首先发布剪贴板。这有点在WinForms中处理 剪贴板类,它将重试该集合,并在其间延迟 每次尝试但WPF剪贴板类不执行此操作,如果它失败 第一个显示异常发生。即便如此,我们应该这样做 捕获异常并提出剪贴板操作错误 仍然失败。
同样的事情被解释了,在意大利博客上提到了一些解决方法 -
以下MSDN论坛帖子暗示这可能是机器特定的问题,你能在其他机器上重现吗? -
CLIPBRD_E_CANT_OPEN exception when copying to clipboard from a DataGrid
<强>更新强>
博客链接似乎已关闭,但可以通过此链接访问缓存版本 -