我正在尝试创建一个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>
我面临的问题是,当我尝试调整持有用户控件的主窗口的大小时,用户控件将不会跟随父窗口并调整大小。
任何想法都表示赞赏。谢谢。
答案 0 :(得分:19)
您在UserControl中将Height
和Width
属性指定为固定值。删除这些属性,并将主窗口中控件实例的HorizontalAlignment
和VerticalAlignment
属性设置为Stretch
。这应该照顾它。
答案 1 :(得分:0)
如果您在用户控件上使用了ViewBox和Canvas,则会修复所有主窗口大小
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform">
<canvas>
--- all your controls --
</Canvas>
</Viewbox>