Copy and paste over Remote Desktop
Remote Desktop transfers clipboard data between the local computer and the remote session. If formatted text arrives as plain text or does not paste, the HTML clipboard format may not have reached the session. Compare local and remote clipboard formats, then check redirection settings and policy.
Check whether the HTML clipboard format reaches the remote session. If it does not, review redirection settings and session policy. If it does, inspect the editor paste options and the Pasting event rather than attributing every failure to RDP.
Root cause: the RDP clipboard proxy, not the editor
Remote Desktop redirects clipboard formats through its clipboard channel. The source application, RDP client and policy determine which formats arrive. Compare local and remote HTML-format availability, and consult Microsoft's clipboard-redirection guidance for session configuration.
Confirm this independently of the editor by pasting the same formatted content into a blank WordPad or Word document inside the same RDP session; the formatting drops there too. This is a Remote Desktop clipboard limitation that affects every Windows application, WPF, WinForms, native, that reads the standard clipboard. It is not specific to WpfHtmlEditor, and switching to the WinForms edition of the control would not change it either; both editions host the same MSHTML rendering engine and both sit on top of the same OS clipboard mechanism.
Fix 1: enable clipboard redirection in the RDP client
In mstsc.exe, open Show Options > Local Resources > Local devices and resources and confirm Clipboard is checked. Disconnect and reconnect, rdpclip.exe launches on connect, so an already-open session may need to be restarted. Roll this out through Group Policy for a team of any size, rather than relying on each user to set it individually.
Fix 2: restart rdpclip mid-session; fix 3: plain-text fallback
Some users report that formatting pastes correctly earlier in the day and stops working later in the same session, the clipboard channel can wedge over time. Kill rdpclip.exe in Task Manager on the remote machine and relaunch it (Start > Run > rdpclip). The clipboard channel re-negotiates without dropping the session. A small "Repair clipboard" command inside your own application, wired to the same restart, saves a non-technical user a trip to Task Manager.
For high-volume workflows where the user will reformat content anyway, train around copy-as-plain-text on the source side. Any HTML that does survive the channel still flows through the editor's built-in Word-paste cleanup (Options.AutoDetectWordPaste), so a formatted paste that lands gets sanitized the same way it would outside of RDP.
Detecting a failed paste with the Pasting event
The Pasting event fires before the incoming HTML is inserted, and its PastingHtmlEventArgs.PastingHtml property lets you see exactly what arrived. An empty payload that is not an MS Word paste is a strong signal the clipboard channel dropped the content, which is a better moment to nudge the user than letting them discover a blank paste on their own:
// Wire this to the editor's Pasting event (XAML: Pasting="NoteEditor_Pasting").
private void NoteEditor_Pasting(object sender, PastingHtmlEventArgs e)
{
if (string.IsNullOrEmpty(e.PastingHtml) && !e.IsPastingFromMsWord)
{
// Nothing arrived on the clipboard: likely a broken RDP redirection.
MessageBox.Show("Nothing was found on the clipboard. If you are working over " +
"Remote Desktop, ask your administrator to restart rdpclip.exe on the remote machine.");
}
}' Wire this to the editor's Pasting event (XAML: Pasting="NoteEditor_Pasting").
Private Sub NoteEditor_Pasting(sender As Object, e As PastingHtmlEventArgs)
If String.IsNullOrEmpty(e.PastingHtml) AndAlso Not e.IsPastingFromMsWord Then
' Nothing arrived on the clipboard: likely a broken RDP redirection.
MessageBox.Show("Nothing was found on the clipboard. If you are working over " &
"Remote Desktop, ask your administrator to restart rdpclip.exe on the remote machine.")
End If
End SubWhat the editor cannot do
The editor sits on top of the standard WPF clipboard. It has no privileged path into rdpclip.exe, no way to force a disabled clipboard channel to work, and no reliable way to detect with certainty that it is running inside an RDP session with broken redirection. If only plain text arrives on the clipboard, that is exactly what gets pasted; if nothing arrives, the paste is silently empty. The Pasting handler above can flag the empty case, but it cannot make a missing clipboard format arrive.
For applications that run primarily inside RDP or Citrix, the cleanest approach is to make sure clipboard redirection is configured on the connection broker at deployment time, rather than asking each end user to tick a box. That is a Group Policy or connection-broker setting, not an editor code change.
Ask your AI to do this
Connect the SpiceLogic MCP server, then give your coding assistant this prompt.
I use the SpiceLogic WPF HTML Editor. Help me diagnose missing clipboard formats over Remote Desktop. Check clipboard redirection and session policy before changing the editor. Confirm the exact API names, types and defaults with the SpiceLogic MCP documentation, then show the changes for my project.