Si vous copiez du texte à partir de la cellule WPF DataGrid
(Ctrl + C), la fin de ligne (CRLF) est toujours ajoutée à la fin du texte copié. Cela peut empêcher le collage correct du texte copié dans certaines applications.Suppression de l'ajout de CRLF à la fin du texte lors de la copie depuis DataGrid
J'ai essayé d'intercepter la copie en utilisant le comportement et aussi en accrochant directement à DataGrid's
CopyingRowClipboardContent
, les deux sans succès.
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
Existe-t-il un moyen de copier du texte sans ajout de CRLF?
Il fonctionne! Solution simple et élégante qui ne casse pas mon MVVM. –