2010-08-17 34 views
2

我一直在Google上搜索幾個小時,似乎無法找到一種方式來查看PowerShell WPF表單中的rtf文件。如何使用Powershell在WPF中顯示rtf文件?

我可以用得到的RTF文件:

$myContent = gc c:\myContent.rtf 

但是當我嘗試使用,以顯示它:

$RichTextBox.appendText($myContent) 

我得到的編碼RTF,而不是格式正確的內容。

任何人都有辦法做到這一點?有關如何在c#中執行此操作的示例的負載,但PowerShell沒有。

感謝,

回答

2

.AppendText僅僅處理字符串的工作,而不是原始RTF。 RTF是一系列與原始文本混合的控制代碼。您需要使用不同的方法,以便分析它:

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

希望這有助於

-Oisin

+0

想想我逐漸回暖,但是當我嘗試創建的MemoryStream得到這個錯誤 - 新對象:無法找到「的MemoryStream」和參數計數過載:「123」。 – Ben 2010-08-18 09:16:51

1

OK - 所以我終於得到這個與287]莪的帖子的一些調整工作。

將迎來他作爲「正確」的答案,我就不會在這裏了,沒有他,但想到我會發布我的代碼的情況下,它可以幫助任何人在未來:

$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) 

乾杯,

+0

對不起,是的,我可能會通過嘗試更好地格式化它來破解它。反引號「'」是一個續行字符,就像VB的下劃線「_」 – x0n 2010-08-19 17:03:10

相關問題