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

Wpf 将控件视觉元素绘制到矩形上,wpf,animation,drawing,controls,Wpf,Animation,Drawing,Controls,我的应用程序中有一个自定义的复合WPF控件(AvalonEdit),每当它的文本属性发生更改时,我都希望对其进行动画处理。我打算做的是: 在更改文本之前创建控件视觉表示的副本,并将其绘制在矩形上 淡出上面的矩形,更新text属性,并使用DoubleAnimation和Storyboard类淡出控件 我已经算出了2,但对如何实现1一无所知。任何帮助都将不胜感激。对于(1)有两种方法让人想到: 可视画笔-可视画笔是由复杂UI元素定义的画笔。换句话说,您可以创建元素的可视树,并使用它来创建笔刷。请参见

我的应用程序中有一个自定义的复合WPF控件(AvalonEdit),每当它的文本属性发生更改时,我都希望对其进行动画处理。我打算做的是:

  • 在更改文本之前创建控件视觉表示的副本,并将其绘制在矩形上
  • 淡出上面的矩形,更新text属性,并使用DoubleAnimation和Storyboard类淡出控件
  • 我已经算出了2,但对如何实现1一无所知。任何帮助都将不胜感激。

    对于(1)有两种方法让人想到:

  • 可视画笔-可视画笔是由复杂UI元素定义的画笔。换句话说,您可以创建元素的可视树,并使用它来创建笔刷。请参见教程。我认为在您的情况下,您必须定义两次UI,即使用AvaloneEdit控件的一个实例作为VisualBrush的“可视化”,因此可能并不理想

  • 可写位图-可写位图允许您将部分用户界面复制到位图中,您可以在其中操作像素数据。虽然您不需要像素级操作,但它仍然是克隆UI的方便机制。看看我写的这个教程


  • 谢谢你的快速回复。WriteableBitmap方法对我来说似乎更实用。我来看看。