Wenn Sie Text aus WPF DataGrid
Zelle (Strg + C) kopieren, aus unbekannten Gründen ist immer Ende der Zeile (CRLF) am Ende des kopierten Textes hinzugefügt. Dies kann das korrekte Einfügen von kopiertem Text in einige Anwendungen verhindern.Entfernen von CRLF am Ende des Textes beim Kopieren aus DataGrid
Ich habe versucht, kopieren mit Verhalten und auch durch direkt an DataGrid's
CopyingRowClipboardContent
haken, beide ohne Erfolg.
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
Gibt es eine Möglichkeit, Text ohne zusätzliche CRLF zu kopieren?
Es funktioniert! Einfache und elegante Lösung, die meinen MVVM nicht bricht. –