我在WPF中有一个用户控件,里面有一个WebBrowser控件。我找不到如何拉伸WebBrowser来填充整个窗口大小的方法。我试过我在SO中找到的各种技巧但没有任何帮助。到目前为止,这是我的代码:
<UserControl x:Class="TypeAppRelease.controls.HelpUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Background="Aqua"
VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" Loaded="UserControl_Loaded_1" Margin="0">
<Grid Name="parentGrid">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WebBrowser Name="browser" HorizontalAlignment="Center" VerticalAlignment="Stretch" />
</Grid>
</UserControl>
如何将主窗口的宽度和高度设置为子用户控件及其子控件的尺寸?
答案 0 :(得分:1)
我认为默认行为是WebBrowser
填充UserControl
;根据您使用UserControl
的方式,如果需要,它应该展开以填充您的窗口。
将Source
属性添加到WebBrowser
可以让您更好地了解当前占用的空间。
此控件:
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Background="Aqua" Margin="0">
<Grid Name="parentGrid">
<WebBrowser Name="browser" Source="http://stackoverflow.com" />
</Grid>
</UserControl>
应展开以填充此窗口:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525">
<Grid>
<local:UserControl1 />
</Grid>
我删除了行和列定义,因为除了WebBrowser
之外还没有任何其他对象,我假设你会再坚持一些,否则你可以使用{ {1}}直接在WebBrowser
中对象(如果您不打算重复使用该控件)。
N.B。您可以从Window
中移除Height
和Width
属性,并在Window
中设置thiem,如果您希望它定义大小。