Désactiver la barre de défilement WPF WebBrowser
Je suis en train d'essayer de cacher le webbrowser barre de défilement, mais elle est encore visible.
XAML:
<WebBrowser Name="wb" Width="700" Height="600"
OverridesDefaultStyle="False"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" />
Merci.
source d'informationauteur Alvin
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour moi:
De cette façon, vous n'avez pas besoin de mshtml
Pas l'idéal, mais ça fonctionne :
Ajouter Microsoft.mshtml à votre projet références. Modifiez ensuite votre code xaml :
et dans votre code derrière :
dans votre code html ....
il doit le résoudre
ou vous pouvez utiliser la balise meta pour spécifier Ie mode de rendu
Ajouter Microsoft.mshtml à votre projet références. Vous n'avez pas besoin de modifier les propriétés de défilement dans le code XAML comme ils ne sont pas dans un contrôle webbrowser lorsque mshtml est utilisé. Dans le LoadCompleted fonction, procédez de la manière suivante:
Ajoutant
scroll="no"
htmlbody
tag a travaillé pour moi pendant que d'autres suggestions ici n'a pas.J'ai fait mon contrôle WebBrowser plus large que la zone visible par 16 pixels qui est la largeur de la barre de défilement.
Cela ne fonctionnera que si votre navigateur web le contrôle de la touche à l'extrême droite de votre application. Le contrôle de navigateur web ne sera pas permettre à d'autres éléments XAML sur le dessus de cela, mais vous pouvez le faire déborder le bord de votre application.
Je l'ai fait dans un Chargé de gestionnaire d'événement pour la fenêtre:
J'ai trouvé l'injection de code JavaScript dans la page semblait rompre certaines pages et la barre de défilement serait seulement disparaître une fois que la page a fini de charger.
La débordement les biens affectés à
hidden
valeur surbody
balise permet de résoudre ce problème.Si vous avez une règle css pour votre
body
tag, ajoutez la ligne suivante:Sinon, ajoutez la ligne suivante à votre béton
<body>
balise de décélération:Désolé un peu de retard, mais je suis enfin en mesure de désactiver la barre de défilement. L'indice de @Devdude a été la clé.
Le point principal est de définir la
overflow = hidden
mais comment le faire dans WPF? J'ai utiliséDependencyObject
de sorte que je peux lier: activer et désactiver à chaque fois que je veux.Tout d'abord, vous devez ajouter une référence à
mshtml
. Dans votre projet, ajouter une référence à ajouterMicrosoft.mshtml
. Puis dans votre.cs
fichier ajouter:La DependencyObject
La
WebBrowser
Extension, qui ne fait le travail pour désactiver le dépassement de ce qui se produit seulement aprèsWebBrowser
Document de Charge est Terminé:À utiliser dans le code XAML
Remarque: assurez-vous d'étirer le
WebBrowser
pour voir l'ensemble du contenu. Peu importe, lescrollbar
sera caché cette fois.