如何使用Powershell在WPF中显示rtf文件?

时间:2010-08-17 16:53:51

标签: wpf powershell richtextbox

我一直在谷歌上搜索数小时,似乎找不到以PowerShell WPF形式查看rtf文件的方法。

我可以使用:

获取rtf文件
$myContent = gc c:\myContent.rtf

但是当我尝试使用以下方式显示它时:

$RichTextBox.appendText($myContent)

我得到编码的rtf,而不是格式正确的内容。

任何人都有办法做到这一点?有很多关于如何在c#中执行此操作的示例,但对于PowerShell没有。

谢谢,

2 个答案:

答案 0 :(得分:3)

.AppendText仅适用于字符串,而不适用于原始RTF。 RTF是与原始文本混合的一系列控制代码。您需要使用不同的方法来解析它:

$stream = new-object IO.MemoryStream (`
       [Text.ASCIIEncoding]::Default.GetBytes($myContent))
$RichTextBox.Selection.Load($stream, [Windows.DataFormats]::Rtf)

希望这有帮助,

-Oisin

答案 1 :(得分:2)

好的 - 所以我终于通过调整Oisin的帖子来解决这个问题了。

将他标记为“正确”的答案,因为没有他我不会在这里,但我想我会发布我的代码以防将来帮助任何人:

$myContent = gc "c:\myContent.rtf"
$ascii = (new-Object System.Text.ASCIIEncoding).getbytes($myContent)
$stream = new-Object System.IO.MemoryStream($ascii,$false)
$RichTextBox.Selection.Load($stream, [Windows.DataFormats]::Rtf) 

干杯,