所以我有一个部分绘制的DrawingVisual,然后当我滚动时我想绘制新区域并从DrawingVisual中删除旧区域。我该如何裁剪旧区?
答案 0 :(得分:0)
也许您可以简单地使用空矩形覆盖当前的DrawingContext - 然后根据需要绘制每个新的thang,例如:
var drawingVisual = ...;
var drawingContext = dv.RenderOpen();
var fullRect = new Rect(new Point(160, 100), new Size(320, 80)); //full size rect
drawingContext.DrawRectangle(new SolidColorBrush(), new Pen(), fullRect);
//other drawings...
drawingVisual.Close();
答案 1 :(得分:0)
我想我找到了问题的答案。 drawingvisual的指令存储在其中,您可以创建一个新的指令,然后获取新的绘图上下文并在设置裁剪区域时绘制旧的视觉效果。还没有测试过,但它应该工作。感谢大家的提示