将UserControl内容拉伸到主窗口大小WPF

时间:2013-06-23 19:27:00

标签: c# wpf

我在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>

如何将主窗口的宽度和高度设置为子用户控件及其子控件的尺寸?

1 个答案:

答案 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中移除HeightWidth属性,并在Window中设置thiem,如果您希望它定义大小。