Я создаю простое консольное приложение, в котором мне нужно загрузить RTF-файл в FlowDocument для дальнейшей работы.
Я использую этот код для загрузки файла в FlowDocument:
// Create OpenFileDialog
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
// Set filter for file extension and default file extension
dlg.DefaultExt = ".rtf";
dlg.Filter = "RichText Files (*.rtf)|*.rtf";
// Display OpenFileDialog by calling ShowDialog method
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
// Open document
string filename = dlg.FileName;
FlowDocument flowDocument = new FlowDocument();
TextRange textRange = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd);
using (FileStream fileStream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
{
textRange.Load(fileStream, DataFormats.Rtf);
}
}
Если я сделаю это в приложении WPF и покажу документ в flowDocumentPageViewer, все в порядке. Но если я пытаюсь загрузить файл в консольное приложение, я получаю исключение: нераспознанная структура в формате данных Rich Text Box, поток имен параметров.
И по какой-то причине это исключение появляется только в том случае, если в документе есть изображение.
Есть идеи, что не так или лучше, как это решить?