我有一个WPF应用程序,它使用WebBrowser
组件来渲染SVG。
SVG可以变得非常大,所以我将它写入MemoryStream
,然后将其渲染为:
private void RenderStream(MemoryStream stream)
{
stream.Position = 0;
svgContainer.NavigateToStream(stream);
}
但是,当我这样做时,我只是在浏览器控件中获取about:blank
的内容。
如果我改变方法,它看起来像这样:
private void RenderStream(MemoryStream stream)
{
stream.Position = 0;
var str = new StreamReader(stream);
var stringified = str.ReadToEnd();
svgContainer.NavigateToString(stringified);
}
这显示了我期待看到的内容。在一个简单的应用程序中运行相同的代码它似乎正常工作,所以我猜它要么与流的大小或内容中编码的东西。为什么这些表现不一样?