如何在 Powershell 中保存来自 WPF RichTextBox 的 rtf 文件?

问题描述 投票:0回答:3

我需要从在 PowerShell 中创建的

RichTextBox
WPF 保存文件

我已经尝试通过

System.Windows.Markup.XamlWriter
进行管道传输,而且我一直在努力解决我删除的大量内容。我似乎无法得到这个。

if ($saveFile) {
   $tr = new-object System.Windows.Documents.TextRange($RichEdit.Document.ContentStart,                                                 
                                   $RichEdit.Document.ContentEnd)
   $ascii = (new-Object System.Text.ASCIIEncoding).getbytes($tr)

   #  $docStream = new-Object System.IO.MemoryStream($ascii,$false)
   $docStream = New-Object IO.FileStream $saveFile ,'Append','Write','Read'
   $out = new-object System.Windows.Markup.XamlWriter.Save $tr, $docStream
}
wpf powershell xaml richtextbox
3个回答
0
投票
if ($saveFile) {
  $RichEdit.SelectAll()
  $as = New-Object IO.FileStream $saveFile ,'Create'
  $a = $RichEdit.Selection.Save($as,[Windows.DataFormats]::Rtf)
}

0
投票

可以使用

SaveFile
方法来做到这一点。

$RichTextBox.SaveFile('C:\Path\File.rtf')

它会自动存储字体和颜色。如果需要纯文本输出,可以按如下方式完成:

$RichTextBox.SaveFile('C:\Path\File.rtf', 'PlainText')

-1
投票
$sel = $richtextbox.Selection.Start;

$richtextbox.SelectAll();

$dialog = [Microsoft.Win32.SaveFileDialog]::new();

$dialog.ShowDialog();

$richtextbox.Selection.Save($dialog.OpenFile(),[System.Windows.DataFormats]::Rtf);

$richtextbox.Selection.Select(sel,sell);
© www.soinside.com 2019 - 2024. All rights reserved.