J'utilise WPF dans WinForms avec ElementHost. Lorsque le formulaire est chargé, il y a un arrière-plan noir sur lequel ElementHost est sur le point de se charger. Cela a l'air un peu mauvais. Des suggestions sur la façon de se débarrasser de cela?Fond noir avant le chargement d'un contrôle wpf lors de l'utilisation d'ElementHost
1
A
Répondre
5
Masquer l'élément (Visibilité = Caché) jusqu'à ce que le contrôle WinForms est entièrement chargé ...
0
vous devez d'abord le contrôle show avec des bornes vides première fois pour éviter le scintillement noir
if (!_control.Created && _control.BackColor != Color.Transparent)
{
_control.Bounds = Rectangle.Empty;
_control.Show();
}
// set control bounds and show it
Rectangle bounds = GetBounds(context, rect);
if (_control.Bounds != bounds)
_control.Bounds = bounds;
if (!_control.Visible)
_control.Show();
+0
Pouvez-vous élaborer sur ce point? J'ai du mal à comprendre le contexte sur ce sujet ... –
Ouais ce serait faire il. Je devais cacher l'ElementHost, cependant. Si je viens de placer l'élément wpf à Visibility = Hidden, j'ai toujours le flash. Mais merci de m'indiquer dans la bonne direction. – jostyposty
À quel moment exactement le contrôle WinForms est-il considéré comme «entièrement chargé»? – Reddog
@Reddog - Enregistrer pour charger l'événement (this.Load + = ....) – Erez