在 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?)。