在WPF应用程序中,我使用的是Web浏览器控件(实际上它是awesomium,但我不确定这很重要)。这个控件正在使用某种互操作。
我希望我的应用能够“缩小”网络内容。网络内容应减少到其大小的50%。
如果我仅应用ScalTransform
,浏览器控件将被缩小为已检测到(一切都较小),但控件的可见边界也会减少。
我想通过网络控制来获取其容器的完整可用位置。怎么做到这一点?
我现在已经这样做了:
<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?)。