WinformおよびWPF要素のコレクションを含むWPFパネル(WPFアプリケーション内)があります。 Winform要素はWindowsFormsHost
でホストされています。WinformおよびWPF要素を含むパネルからBitmapSourceを作成する
私はそれを操作/保存/印刷することができるように、パネル全体のBitmapSourceを作成する必要があります。
WPF要素のBitmapSourceを作成するのに問題はありませんが、Winform要素はレンダリングされません(どこに白いスペースがあるか)。その
一例:
void GetBitmapSource(FrameworkElement element)
{
var matrix = PresentationSource.FromVisual(element).CompositionTarget.TransformToDevice;
double dpiX = 96.0 * matrix.M11;
double dpiY = 96.0 * matrix.M22;
var bitmapSource = new RenderTargetBitmap((int)element.ActualWidth + 1, (int)element.ActualHeight + 1, dpiX, dpiY, PixelFormats.Pbgra32);
bitmapSource.Render(element);
return bitmapSource;
}
これはうまくWPF要素を印刷するが、Winフォーム内容を無視します。それをどのように含めるのですか?
下の画像は、左側のタブパネルと右側のビットマップソースを示しています。 Winform Rectangleの内容が空であることに注目してください。
多分役立つ:http://stackoverflow.com/q/1756954/1136211 – Clemens
私は彼の答えでトーマス・レベスクから解決策を見つけ、[ここ](http://stackoverflow.com/a/1756976/3064934 )。 – Daltons