0

イベントで drawingContextに描画する必要があるFrameworkElement名前付き _frameworkElement への参照があります。FrameworkElementOnRender

このような:

protected override void OnRender(DrawingContext drawingContext)
{
   drawingContext. ??
   base.OnRender(drawingContext);
}

必要なのは、_frameworkElement に適用されるレンダリング変換を考慮することです

この問題のクリーンな解決策はありますか? ありがとう

編集

OnRender をオーバーライドする必要があるのはなぜですか。

私はグラフィカルアプリケーションを持っているので、ユーザーは形状を描画し、長方形の選択領域を描画する選択ツールを使用して複数の形状を選択できます。

私がやっていることは、ステージ キャンバスから選択したシェイプを、ユーザーが移動およびサイズ変更できる選択キャンバスに再親化することです。選択キャンバスで変換した後、ユーザーはステージ キャンバスをクリックし、シェイプをステージ キャンバスに再親化します。

問題:

Canvas から Canvas に子を削除するときにボトルネックがあり、Children.Remove と Children.Add の実装には時間がかかります。特に、ユーザーが多数の形状を選択して変換する場合に顕著です。

そう ?

選択した図形を再親化するのではなく、OnRender をオーバーライドして選択キャンバスの drawingContext に描画することを考えました

4

2 に答える 2