【发布时间】:2018-03-21 14:12:35
【问题描述】:
在我后面的代码中,我使用RenderTargetBitmap 从我的网格渲染位图。
var renderBitmap = new RenderTargetBitmap();
await renderBitmap.RenderAsync(UIElement);
我想使用 MVVM 模式,但现在 RenderTargetBitmap 类不再工作了。
现在我正在尝试使用 WinRT XAML 工具包 - 组合
var gridBitmap = await WriteableBitmapRenderExtensions.Render(Grid);
然后我得到这个错误:消息"Unable to expand length of this stream beyond its capacity."字符串
还有其他方法可以在 MVVM 中呈现它吗?也许是SharpDX?还是我做错了什么?
【问题讨论】:
-
如果您认为位图数据是否是“视图”,这实际上是一个意识形态/哲学问题。理想情况下,我们会更多地了解您的应用程序的性质。
-
另外,请注意 MVVM 并不意味着您永远不应该使用 Code-behind。使用代码隐藏逻辑没有任何问题 - 只是代码隐藏逻辑应该只关注“视图”而不是其他任何东西,例如业务规则或数据库查询 - 所以在代码中对位图执行操作-behind 可能完全适合您的应用程序。
标签: xaml uwp toolkit rendertargetbitmap