复制粘贴剪贴板 RTF C#
Copy&Paste Clipboard RTF C#
我尝试将带有图片的 table 从 WPF Richtextbox 复制到剪贴板上方的 Forms Richtextbox。
两者都只是代码生成的。没什么大不了的,但是不行。
tmp_rtf_wpf.SelectAll();
tmp_rtf_wpf.Copy();
//But if i add a Messagebox here, it works
tmp_rtf_forms.Paste();
//or if i add a Messagebox here, it works too
所以我认为 Copy() 还没有完成。 (如果显示 Messagebox,带有 Table 的图片在剪贴板中,而没有 Messagebox - 如果我稍后阅读剪贴板,图片也在里面,如果我只使用文本而不使用图片,它是相同的)
好的,最后我将其用作“解决方法”:
TextRange tr = new TextRange(tmp_rtf_wpf.Document.ContentStart,
tmp_rtf_wpf.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Rtf);
string wpfrtf_tmp = ASCIIEncoding.Default.GetString(ms.ToArray());
Clipboard.SetText(wpfrtf_tmp, TextDataFormat.Rtf);
tmp_rtf_forms.Paste();
我尝试将带有图片的 table 从 WPF Richtextbox 复制到剪贴板上方的 Forms Richtextbox。 两者都只是代码生成的。没什么大不了的,但是不行。
tmp_rtf_wpf.SelectAll();
tmp_rtf_wpf.Copy();
//But if i add a Messagebox here, it works
tmp_rtf_forms.Paste();
//or if i add a Messagebox here, it works too
所以我认为 Copy() 还没有完成。 (如果显示 Messagebox,带有 Table 的图片在剪贴板中,而没有 Messagebox - 如果我稍后阅读剪贴板,图片也在里面,如果我只使用文本而不使用图片,它是相同的)
好的,最后我将其用作“解决方法”:
TextRange tr = new TextRange(tmp_rtf_wpf.Document.ContentStart,
tmp_rtf_wpf.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Rtf);
string wpfrtf_tmp = ASCIIEncoding.Default.GetString(ms.ToArray());
Clipboard.SetText(wpfrtf_tmp, TextDataFormat.Rtf);
tmp_rtf_forms.Paste();