[英]rtf layout changed after loading into richtextbox wpf c#
我有一個 rtf,當我在 word 中打開它時,它的布局顯示完美,但是當我嘗試在 wpf 應用程序的 Richtextbox 中打開它時,布局已關閉,我希望保持不變。 有沒有辦法做到這一點? 讀取文件的不同方式?
這是我用來加載 rtf 文件的代碼
openFile.InitialDirectory = @"C:\";
openFile.Filter = "Text files (*.rtf)|*.rtf|All Files (*.*)|*.*";
openFile.RestoreDirectory = true;
openFile.Title = "Select Script";
if (openFile.ShowDialog() == true)
{
string originalfilename = System.IO.Path.GetFullPath(openFile.FileName);
TextRange range;
FileStream fStream;
if (openFile.CheckFileExists)
{
range = new TextRange(rtfMain.Document.ContentStart, rtfMain.Document.ContentEnd);
fStream = new FileStream(originalfilename, System.IO.FileMode.OpenOrCreate);
range.Load(fStream, DataFormats.Rtf);
fStream.Close();
}
}
這是xaml
<RichTextBox IsReadOnly="True" x:Name="rtfMain" HorizontalAlignment="Left" Width="673" VerticalScrollBarVisibility="Visible"/>
這是原始的樣子
這就是它在 wpf 中的富文本框中的外觀
嘗試這樣的事情:
if (openFile.CheckFileExists)
{
range = new TextRange(rtfMain.Document.ContentStart, rtfMain.Document.ContentEnd);
using (var fStream = new StreamReader(originalfilename, Encoding.Default,true))
{
range.Text = fStream.ReadToEnd();
}
}
並在 xaml 中:
<RichTextBox IsReadOnly="True" x:Name="rtfMain" HorizontalAlignment="Left"
Width="673" VerticalScrollBarVisibility="Visible" Height="250">
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
它看起來如何:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.