WPF WebBrowser - 如何缩放内容?

Bee*_*ems 5 wpf xaml .net-4.0 expression-blend

尝试在WPF(C#/ XAML,.NET 4.0)WebBrowser应用程序中测试基本浏览器概念.到目前为止,唯一的问题是以编程方式缩放.有没有人有这方面的经验?

MSDN列出什么:http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser.aspx 此外,我曾尝试过各种东西,如选择的RenderTransform不得要领.这是不可能的或没有记录.我希望后者.请注意,WinForm解决方案是不可接受的.

提前感谢任何帮助,Beems

Ton*_*ony 9

也许你可以像这样执行一个javascript.

document.body.style.zoom = 1.5;
Run Code Online (Sandbox Code Playgroud)

在WPF中,我们可以操作文档.我为您创建了一个扩展方法,因此您可以设置缩放:

// www.tonysistemas.com.br
public static partial class MyExtensions
{
    public static void SetZoom(this System.Windows.Controls.WebBrowser WebBrowser1, double Zoom)
    {
        // For this code to work: add the Microsoft.mshtml .NET reference      
        mshtml.IHTMLDocument2 doc = WebBrowser1.Document as mshtml.IHTMLDocument2;
        doc.parentWindow.execScript("document.body.style.zoom=" + Zoom.ToString().Replace(",", ".") + ";");
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

WebBrowser1.SetZoom(0.5);
Run Code Online (Sandbox Code Playgroud)