我正在我的应用程序的XAML中的Grid中显示一个Web浏览器。浏览器当前正确显示网站,并允许用户与网站进行完全交互。
但是,出于某种原因,我在显示浏览器的<Grid>
在调整大小时没有展开以填充应用程序窗口,并且看起来我使用的CefSharp:ChromiumWebBrowser
我的网络浏览器没有展开以填充我正在显示它的<Grid>
...
当我运行我的应用程序时,它当前显示如下:
显示浏览器的<Grid>
的边框是绿色矩形 - 如您所见,浏览器尚未展开以填充此区域。如果我通过拖动其中一个角来展开应用程序的窗口,则窗口会调整大小以显示:
从第二个屏幕截图中,您可以看到应用程序窗口已调整大小,但内容尚未展开以填充窗口的新大小。为什么是这样?如何让网站填充我正在显示它的browser
元素的大小,以及如何让browser
本身填充<grid>
中的所有可用空间它显示在哪?
我用来在我的GUI中显示的XAML
是:
<Grid x:Name="grdBrowserHost" MinHeight="900" Height="Auto" MinWidth="1100" Width="Auto" Margin="0,0,0,0" DockPanel.Dock="Bottom" Grid.ColumnSpan="4" >
<cefSharp:ChromiumWebBrowser Name="browser" Height="Auto" Width="Auto" Grid.Row="0" Address="https://web.riviam.com" />
</Grid>
我尝试编辑XAML以设置<Grid>
行&amp;列定义为auto:
<Grid x:Name="grdBrowserHost" MinHeight="900" Height="Auto" MinWidth="1100" Width="Auto" Margin="0,0,-137,0" DockPanel.Dock="Bottom" Grid.ColumnSpan="4" >
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<cefSharp:ChromiumWebBrowser Name="browser" Height="Auto" Width="Auto" Grid.Row="0" Address="www.google.com" />
</Grid>
但这实际上对我的应用程序在运行时的显示方式没有影响。
如何解决此问题,以便动态调整<Grid>
及其内容的大小,以便在调整窗口大小时填充窗口大小?
答案 0 :(得分:-1)
<Grid x:Name="grdBrowserHost" MinHeight="900" Height="Auto" MinWidth="1100" Width="Auto" Margin="0,0,0,0" DockPanel.Dock="Bottom" Grid.ColumnSpan="4" >
<cefSharp:ChromiumWebBrowser
Name="browser"
Height="{Binding ElementName=grdBrowserHost,Path=ActualHeight}"
Width="{Binding ElementName=grdBrowserHost,Path=ActualWidth}"
Grid.Row="0" Address="https://web.riviam.com" />
</Grid>