WindowsFormsHost コントロールが破棄されず GDI オブジェクトが増加し、リークします。

現象

WPF アプリケーションから、Windows フォーム コントロールを WindowsFormsHost コントロールの Child プロパティに指定し、そのウィンドウの開閉を繰り返すと GDI オブジェクトが増加し続けることがあります。

原因

WindowsFormsHost が内部で作成するオブジェクトに関わる GDI のリソースは、ウィンドウを破棄しただけでは解放されません。

解決方法

ウィンドウをクローズする際、以下のように明示的に WindowsFormsHost コントロールを破棄します。

private void Window_Closed(object sender, EventArgs e)
{
windowFormsHost1.Child = null;
windowFormsHost1.Dispose();
}

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×