0
如果從WPF DataGrid
單元格(Ctrl + C)複製文本,出於未知原因,總會有行結尾(CRLF)添加到複製文本的末尾。這可能會阻止將複製的文本正確粘貼到某些應用程序。從DataGrid複製時消除將CRLF添加到文本結尾
我試圖攔截複製使用行爲,也直接掛鉤到DataGrid's
CopyingRowClipboardContent
,都沒有成功。
Protected Sub OnCopyingRowClipboardContent(sender As Object, e As DataGridRowClipboardEventArgs)
Dim cellContent = e.ClipboardRowContent(DirectCast(sender, DataGrid).CurrentCell.Column.DisplayIndex)
e.ClipboardRowContent.Clear()
e.ClipboardRowContent.Add(cellContent)
If Clipboard.ContainsText(TextDataFormat.UnicodeText) OrElse
Clipboard.ContainsText(TextDataFormat.Text) Then
Dim clipboardText = Clipboard.GetText()
Dim length = clipboardText.Length
If length >= 2 Then
If clipboardText(length - 1) = vbLf AndAlso clipboardText(length - 2) = vbCr Then
clipboardText = clipboardText.Substring(0, length - 2)
Clipboard.SetText(clipboardText)
End If
End If
End If
End Sub
有沒有辦法在不添加CRLF的情況下複製文本?
它的工作原理!簡單而優雅的解決方案不會中斷我的MVVM。 –