我的Grid布局有问题。我想要三行(第二行GridSplitter)的行为:
如果带有TextBoxis的行Collapsed,则DataGrid填充整个空间。
如果为 的行,则TextBox和共享空间。
如果设置在,则不展开。并填满他们的行。VisibleTextBoxDataGridTextTextBoxTextBoxHeight
TextBoxDataGrid
示例 xml:
<DockPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
<CheckBox x:Name="ShowTextBox" Content="Show TextBox"/>
<Button Content="Add text" Click="ButtonBase_OnClick"/>
</StackPanel>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Background="Aqua">
<DataGrid/>
</StackPanel>
<GridSplitter Grid.Row="1"
Height="5"
HorizontalAlignment="Stretch"
ResizeDirection="Rows"
Visibility="{Binding Path=IsChecked, ElementName=ShowTextBox, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<DockPanel Grid.Row="2"
Visibility="{Binding Path=IsChecked, ElementName=ShowTextBox, Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBox AcceptsReturn="True" x:Name="TextBox"
VerticalScrollBarVisibility="Visible"/>
</DockPanel>
</Grid>
</DockPanel>
问题1:当我更改Height行TextBox并设置它时Collapsed,DataGrid不会填充空白空间。
我想扩展到整个区域。
DataGrid
问题 2:
如果我不触摸TextBoxrowHeight并添加多行文本,TextBox则会展开Height. 如果之前更改Height了TextBox行,则不会出现问题。

有什么建议么?