Я нахожусь в C# WPF.Показать html MemoryStream в DocumentViewer
Я хочу создать функцию печати. Сначала я генерировать MemoryStream из XmlDocument:
XmlDocument xmlDoc;
XslCompiledTransform _xsl; // Initialized before
/* creating Doc */
MemoryStream ms = new MemoryStream();
_xsl.Transform(xmlDoc, null, ms);
ms.Flush();
ms.Position = 0;
можно отобразить MemoryStream в WebBrowser элемента с помощью webBrowser.NavigateToStream(e.NewValue as Stream);
. Но теперь я хочу отобразить MemoryStream перед печатью. У меня есть окна предварительного просмотра:
<Window Title="PrintView">
<Grid>
<DocumentViewer x:Name="printViewer"
Margin="10"
Document="{Binding DocumentView}"/>
</Grid>
</Window>
связующая элемент является:
FixedDocumentSequence _fixDoc = null;
public FixedDocumentSequence DocumentView
{
get
{
return _fixDoc;
}
set
{
_fixDoc = value;
OnPropertyChanged(nameof(DocumentView));
}
}
Но как я могу создать FixedDocumentSequence DocumentView
от MemoryStream ms
?
Я попробовал, но инструкция 'Package package = Package.Open (xpsStream)' raise FileFormatException "Файл содержит поврежденные данные". Но отображение того же MemoryStream на WebBrowser работает хорошо. –
Что это за 'байты', когда вы говорите' XmlData'? –
Я не понимаю ваш вопрос. После создания моего «MemoryStream ms» я вызываю вашу функцию, и у меня есть ошибка. Чтобы проверить мой MemoryStream, я попытался создать «WebBrowser» вместо «DocumentViewer». В этом случае я делаю 'webBrowser.NavigateToStream (ms)', и мои окна отображают правильную страницу, но не могут быть напечатаны и без просмотра. –