【发布时间】:2015-08-23 20:57:28
【问题描述】:
我有一个 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 的 Richtextbox 中的样子
【问题讨论】:
-
添加一张图片显示“layout is off”的原因和方式可能比发布仅加载rtf的代码更有帮助。你怀疑代码有错误吗?
-
我在想可能有更好的方法来阅读文档,以便在 Richtextbox 中更准确地显示它
-
刚刚添加图片来说明问题
-
尝试保存 rft 并与原始的比较(你将不得不使用一些十六进制查看器),也许这会给你一个线索是什么问题。如果两个 rtf 相同,则取决于
RichTextBox如何显示 rtf。我看到第一段的左边有一个空白,这似乎被忽略了。也许是因为你在Load之前没有使用SelectAll()?
标签: c# wpf text richtextbox rtf