2011-10-21 1 views
0

最終目標は、特定のコントロールがCOMオブジェクトに送信され、別のアプリケーションでレンダリングされる更新をレンダリングするたびに、更新されたRenderTargetBitmapを描画することです。コントロールレンダリング時のトラッキング

私は、コントロールまたはその子が更新されたことを知らせるイベントにフックしようとしています。 My controlは、データバインドされたテキストフィールドとイメージフィールド、およびそれらに適用されたColorAnimationsを持つグラデーションを組み合わせたものです。

視覚コントロール(およびその子供)が変更されたことを知る方法はありますか?私はOnVisualChildrenChangedArrangeOverrideParentLayoutInvalidated、およびOnRenderを聞いてみましたが、データバインドされた子がレンダリングされたときには再生されませんでした。

最初の考えは、INotifyPropertyChangedオブジェクトのデータバインドされたフィールドを単に聞くことでしたが、ColorAnimationはコントロールのすべてのフレームが正しくキャプチャされないことを意味します。

答えて

1

WPFで使用されている「難しい方法」のd3dにフックできます。しかし、あなたがC#コードから直接的に直接的な方法を探しているので、私は何か面白いことに出くわしました。

私が間違っていないのであれば、これは非常に簡単な方法でWPFのd3dサーフェスにフックできるようになり、サーフェイスがレンダリングされるたびに通知されます。

http://msdn.microsoft.com/en-us/library/system.windows.media.compositiontarget.rendering.aspx

免責事項:それを試してみると、私はコンパイラを操縦最後の時間は長い時間がなかったことはありませんago- :)

(ウィル、XSplitテストであなたの貢献のおかげで)

関連する問題