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

7hiiyaii  于 2023-03-16  发布在  Shell
关注(0)|答案(3)|浏览(179)

我需要保存在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
}
bogh5gae

bogh5gae1#

if ($saveFile) {
  $RichEdit.SelectAll()
  $as = New-Object IO.FileStream $saveFile ,'Create'
  $a = $RichEdit.Selection.Save($as,[Windows.DataFormats]::Rtf)
}
niwlg2el

niwlg2el2#

可以使用SaveFile方法来执行此操作。

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

它将自动存储字体和颜色。如果需要纯文本输出,可以按以下步骤操作:

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

wixjitnu3#

$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,$sel);

相关问题