我有一个GridSplitter
,但我不能让它延伸到我应用的全部高度(我的UserControl
更精确)。它只填充与GridSplitter
左侧/右侧内容相同的高度。
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*" /> <!--this was a trial and error thing-->
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" MinWidth="150" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="8*" MinWidth="250" />
</Grid.ColumnDefinitions>
<TextBlock Text="left" Grid.Column="0"/>
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
<TextBlock Text="right" Grid.Column="2"/>
</Grid>
</Grid>
</Grid>
由于我不知道身高,所以我希望能够
这适用于高度更大,但这不是一种可接受的方法,因为我不知道客户端监视器的大小。
但这无效。
我需要做什么?
这是父母
<StackPanel Grid.Row="1" Background="Orange">
<ContentPresenter Content="{Binding Vm}" />
</StackPanel>
正如您所看到的背景是橙色,这给了我控件的界限。控制占据了它所有的空间。
答案 0 :(得分:1)
将StackPanel
父级更改为Grid
控件。 StackPanel
控件将调整其子元素的大小。改为使用Grid
控件,它将调整其父控件的大小。
<Grid Grid.Row="1" Background="Orange">
<ContentPresenter Content="{Binding Vm}" />
</Grid>