イベントによってソースの更新が必要であると判断されるたびにソース イメージを変更することで、XAML の Image (_browserScreenshot below) オブジェクトを更新しようとしています。今私はこれを持っています:
public BitmapSource GetScreen()
{
Bitmap bitmap = new Bitmap(app.Browser.ClientRectangle.Width, app.Browser.ClientRectangle.Height);
app.Browser.DrawToBitmap(bitmap, app.Browser.Bounds);
BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
bitmapSource.Freeze();
bitmap.Dispose();
bitmap = null;
return bitmapSource;
}
次に、次のようなイベント ハンドラーがあります。
app.BitmapSource.Changed += new EventHandler(BitmapSource_Changed);
void BitmapSource_Changed(object sender, EventArgs e)
{
Window1._browserScreenshot.Source = app.GetScreen();
}
このイベントが発生するたびに、新しいスクリーンショットが取得され、イメージのソース (ここでは _browserScreenshot と呼ばれます) コントロールが更新される必要があります。IsFrozen プロパティを変更するとエラーが発生し続けますが、これを正しく変更する方法がわかりません。よろしくお願いします。