将控制视觉元素绘制到矩形上

时间:2011-08-08 07:03:50

标签: wpf animation drawing controls

我的应用程序中有一个自定义复合WPF控件(AvalonEdit),我想在Text属性发生变化时设置动画。我打算做的是:

  1. 在更改文本之前创建控件的可视化表示的副本,并将其绘制在矩形上。
  2. 淡出上面的矩形,使用DoubleAnimation和Storyboard类更新文本属性并淡入控件。
  3. 我已经弄清楚了#2,但还没有弄清楚我将如何实现#1。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于(1),我想到了几种方法:

  1. VisualBrush - 可视画笔是由复杂UI元素定义的画笔。换句话说,您可以创建元素的可视树,并使用它来创建画笔。请参阅教程here。我认为在你的情况下你必须两次定义你的UI,即将你的AvalonEdit控件的实例作为VisualBrush的'visual',所以可能不理想

  2. WriteableBitmap - 可写位图允许您将部分UI复制到位图中,您可以在其中操作像素数据。虽然您不需要像素级操作,但它仍然是克隆UI的便捷机制。请参阅本教程我写的here