0

在 WPF 应用程序中,我正在使用 Web 浏览器控件(实际上它是 awesomium,但我不确定这是否重要)。此控件正在使用某种互操作。

我希望我的应用能够“缩小”网页内容。网页内容应减少到其大小的 50%。

如果我ScalTransform只应用,浏览器控件会按预期缩小(一切都更小),但控件的可见边界也会减小。

我希望 Web 控件占据其容器的全部可用位置。如何做到这一点?

我现在已经做到了:

<Canvas SizeChanged="Canvas_SizeChanged"
        MinWidth="100"
        MinHeight="100">
    <Custom:WebControl x:Name="browser"
                       RenderTransformOrigin="0,0"
                       Width="100"
                       Height="100">
        <Custom:WebControl.RenderTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="0.5"
                                ScaleY="0.5" />
                <SkewTransform />
                <RotateTransform />
                <TranslateTransform />
            </TransformGroup>
        </Custom:WebControl.RenderTransform>           
    </Custom:WebControl>
</Canvas>

在后面的代码中:

private void Canvas_SizeChanged(object sender, SizeChangedEventArgs e)
{
    browser.Width = e.NewSize.Width * 2;
    browser.Height = e.NewSize.Height * 2;
}

这是有效的,有点低效。我想知道是否有更好的地方可以做到这一点(纯 XML?)。

4

1 回答 1

0

此答案适用于 1.7 版 RC3(可在此处获得)。

  • Awesomium.NET WPFWebControl实际上是纯 WPF(ViewType设置为时Offscreen,这是默认值)。
  • 在此处查看您正在尝试执行的操作的示例。
于 2013-02-03T12:14:10.913 回答