您知道如何使 ChromiumBrowser 打开时浏览器大小适合内容吗?现在这个 xaml 位于窗口主体中。当有人单击 MyTextBox 的文本时,ChromiumBrowser 将打开以显示更多信息。
Edit:如果没有固定的宽度和高度,铬窗口不会显示。
....
<Canvas Panel.ZIndex="99" Visibility="{Binding IsChromiuimVisible, Converter={StaticResource BooleanToVisibilityConverter}, FallbackValue=Collapsed}">
<Popup Placement="Top" PlacementTarget="{Binding ElementName=MyTextBlock}"
IsOpen="{Binding IsChromiumVisible}" PopupAnimation="Fade" AllowsTransparency="True"
MouseEnter="OnMouseEnter" MouseLeave="OnMouseLeave">
<Grid Background="Transparent">
<cefSharp:ChromiumWebBrowser
Width="300" Height="620"
Address="{Binding ChromiumAddress, Mode=TwoWay}">
</cefSharp:ChromiumWebBrowser>
</Grid>
</Popup>
</Canvas>
....
我已经通过以下方式解决了将cefSharp浏览器高度适合页面内容的问题:
browser = new ChromiumWebBrowser("https://stackoverflow.com/");
// ... adding to parent's children etc. ...
browser.LoadingStateChanged += async (s, e) =>
{
if (!e.IsLoading) // browser.CanExecuteJavascriptInMainFrame == TRUE !
{
JavascriptResponse response =
await browser.EvaluateScriptAsync(
// GET HEIGHT OF CONTENT
"(function() { " +
" var _docHeight = " +
" (document.height !== undefined) " +
" ? document.height " +
" : document.body.offsetHeight; " +
" " +
" return _docHeight; " +
"} " +
")();");
int docHeight = (int)response.Result;
browser.Dispatcher.Invoke(() => { browser.Height = docHeight + 10; });
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)