我有以下Grid
,如果要扩展GridSplitter
的内容,我想引入Expander
:
<Grid Grid.Row="2" Margin="0,5,0,0" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<!-- Menu -->
</Grid>
<Grid Grid.Row="1">
<!-- Main-Content -->
</Grid>
<GridSplitter Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Stretch" Height="3"/>
<Expander Grid.Row="3" Margin="0,10,0,0" VerticalAlignment="Bottom" Header="Details">
<TabControl ItemsSource="{Binding DetailsViewModels}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding DisplayHeader}"/>
</DataTemplate>
</TabControl.ItemTemplate>
</TabControl>
</Expander>
</Grid>
我现在的问题是Expander
内容的大小和移动GridSplitter
时的调整大小行为。
如果我将RowDefinition
的高度设置为*,则扩展器会占用很多空间。
如果我在TabControl
处设置MaxHeight,那么如果TabControl
展开,我可以减小Expander
。但是,如果达到最大高度,只有GridSplitter
连续运动。
如果我没有设置任何大小,那么TabControl
会占据整个高度,不幸的是太多了。
如何实现TabControl
需要一定的最大高度,但是我可以使用GridSplitter
来增加它呢?
答案 0 :(得分:0)
也许您可以从后面的代码中捕获事件Expander of Expander,然后自己设置所需的网格大小?