WPF用户控件不会随主窗口调整大小

时间:2010-06-04 17:27:51

标签: .net wpf user-controls

我正在尝试创建一个WPF用户控件,其中包含两个组框和每个组框中的两个ListView。以下是用户控件的XAML代码:


    <UserControl x:Class="TestGroupControl.TestGroupControl"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="500" Width="700" MinWidth="300" MinHeight="200">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="225*" />
                <RowDefinition Height="225*" />
            </Grid.RowDefinitions>
            <GroupBox Grid.Row="0" Header="Test Data" Margin="2,2,2,2" Name="testDataGroupBox">
                <Grid>
                    <ListView Margin="2,2,2,2" Name="testDataListView" ></ListView>
                </Grid>
            </GroupBox>
            <GroupBox Grid.Row="1" Header="Test Parameters" Margin="2,2,2,2" Name="testParametersGroupBox">
                <Grid>
                    <ListView Margin="2,2,2,2" Name="testParametersListView" ></ListView>
                </Grid>
            </GroupBox>
        </Grid>
    </UserControl>

我面临的问题是,当我尝试调整持有用户控件的主窗口的大小时,用户控件将不会跟随父窗口并调整大小。

任何想法都表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:19)

您在UserControl中将HeightWidth属性指定为固定值。删除这些属性,并将主窗口中控件实例的HorizontalAlignmentVerticalAlignment属性设置为Stretch。这应该照顾它。

答案 1 :(得分:0)

如果您在用户控件上使用了ViewBox和Canvas,则会修复所有主窗口大小

<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform">

  <canvas>

--- all your controls -- 

     </Canvas>
        </Viewbox>