Cache ContentControl / ContentPresenter绑定到ViewModel

时间:2010-11-15 18:59:11

标签: wpf

如果我有一个ContentControl / ContentPresenter,其内容将设置为ViewModel - 我有一个ViewModel的类型引用数据模板 - 是否有一种干净的,符合MVVM的方式来获取ContentControl的“快照” / ContentPresenter何时呈现了所有内容?

我的想法是,在任何给定的时间点,我将最多有三个或四个ViewModel“打开”,我将有一个ListBox绑定到ViewModel的集合。将有一个ContentControl / ContentPresenter显示正在查看的“当前”视图模型。如果用户将鼠标移动到ListBox中的一个ViewModel上,我想为它们显示ViewModel的缩小预览。我不想每次都渲染内容,而是在最初在主要ContentPresenter中显示ViewModel时缓存内容。

以前有人见过这样的事吗?

克里斯

1 个答案:

答案 0 :(得分:0)

您可以使用RenderTargetBitmap创建任何视觉的位图。位图将包含视觉的整个可视树。

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx

http://msdn.microsoft.com/en-us/library/aa969775.aspx

相关问题