J'essaie de mettre à jour un objet Image (_browserScreenshot ci-dessous) dans XAML en changeant l'image source chaque fois qu'un événement détermine que la source doit être mise à jour. En ce moment, j'ai ceci:en utilisant BitmapSource comme source d'image dans WPF
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;
}
J'ai un gestionnaire d'événements comme indiqué:
app.BitmapSource.Changed += new EventHandler(BitmapSource_Changed);
void BitmapSource_Changed(object sender, EventArgs e)
{
Window1._browserScreenshot.Source = app.GetScreen();
}
Maintenant, chaque fois que cet événement déclenche une nouvelle capture d'écran est prise et la source de l'image (appelée _browserScreenshot ici) le contrôle devrait être mis à jour. Je continue d'obtenir une erreur sur la modification de la propriété IsFrozen, mais je n'arrive pas à comprendre comment changer cela correctement et avoir ce travail comme je le veux. Merci d'avance à tous.
Pourriez-vous ajouter des informations sur l'erreur que vous avez obtenue? Rien ne me saute aux yeux aussi horriblement mal. –