Est-il possible de modifier la couleur d'arrière-plan du contrôle WebBrowser avant de charger le contenu?
J'ai une page qui contient un WebBrowser
de contrôle qui est fréquemment mise à jour de contenu. Je suis à l'aide d'un fond noir, mais la couleur par défaut avant de charger le contenu de la WebBrowser
est blanc. Je pourrais le changer par le chargement d'une petite chaîne HTML avec le fond noir, mais il y a toujours une période de temps lorsque les WebBrowser
apparaît comme le blanc, donc il y a une sorte d'un effet scintillant qui se passe.
Ma question est la suivante: est-il possible de modifier la couleur de la sous-tendent le contrôle de la WebBrowser
?
J'ai essayé quelques solutions telles que le masquage de la WebBrowser
jusqu'à ce que le contenu a été chargé, mais aucun de ces sens très élégant et ne fonctionne pas très bien.
source d'informationauteur johnhforrest
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé quelque chose qui fonctionne dans mon cas. Ce n'est pas forcément le plus élégant, mais il fait le travail.
Je définir la valeur par défaut
Opacity
de laWebBrowser
à 0. Puis-je associer un gestionnaire d'événement pour laLoadCompleted
événement:Maintenant, avant que je charge une nouvelle page HTML, j'ai mis le
Opacity
retour à 0 de sorte qu'il se cache du navigateur tandis que le nouveau code HTML est en cours de rendu, donc il n'y a pas de scintillement de milieux. Quand le HTML est fini de charger l'événement se déclenche et la nouvelle page HTML sera affiché comme prévu.Je suis d'accord avec johnforrest. Son beaucoup mieux pour Régler l'Opacité par défaut à 0 et l'Opacité du masque en Noir dans le code XAML. Après que, dans le LoadComplete événement;
Pas de scintillement...!!
En supposant que vous ne voulez pas changer le réel comme l'opacité par les autres suggestions, vous pouvez changer la couleur de fond de l'affichage initial à l'aide de HTML:
J'ai trouvé que la modification de l'Opacité ou de la Visibilité, de contrôle ne permet pas de masquer complètement le scintillement. Ma solution est de définir la hauteur du contrôle à 0 et puis de le réinitialiser en arrière après qu'il se charge, comme ceci: