<WebBrowser x:Name="messageBufferWebBrowser"
controls:WebBrowserUtility.Body="{Binding MessageBuilder}"/>
J'utilise cette classe pour permettre la liaison au corps du contrôle WebBrowserComment faire pour faire défiler un contrôle WPF WebBrowser à la fin?
public static class WebBrowserUtility
{
public static readonly DependencyProperty BodyProperty =
DependencyProperty.RegisterAttached("Body", typeof(string), typeof(WebBrowserUtility), new PropertyMetadata(OnBodyChanged));
public static string GetBody(DependencyObject dependencyObject)
{
return (string)dependencyObject.GetValue(BodyProperty);
}
public static void SetBody(DependencyObject dependencyObject, string body)
{
dependencyObject.SetValue(BodyProperty, body);
}
private static void OnBodyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var webBrowser = d as WebBrowser;
if (!string.IsNullOrWhiteSpace(e.NewValue as string) && webBrowser != null)
{
if (Application.Current.MainWindow != null && !DesignerProperties.GetIsInDesignMode(Application.Current.MainWindow))
{
webBrowser.NavigateToString((string)e.NewValue);
}
}
}
}
C'est mon WebBrowser, je suis liant à une propriété StringBuilder sur le ViewModel. Comment puis-je obtenir le contrôle WebBrowser pour faire défiler jusqu'à la fin?
int.MaxValue ne fonctionne pas pour moi, mais la constante magique 10000000 fonctionne – Kluyg
"Notez que cette méthode ne fonctionne que si vous gérez le défilement à l'intérieur de l'événement WebBrowser.LoadCompleted." - @ DavyMac23 –
merci, vous avez sauvé mon temps –