Сетка с тремя строками, одна из которых является сворачиваемой (DataGrid, GridSplitter, TextBox). Сетка не меняет размеры, как хотелось бы

У меня проблема с моим Grid раскладка. Я хотел бы иметь три ряда (второй с GridSplitter) с поведением:

Если строка с TextBox является Collapsed, затем DataGrid заполнить все пространство.
Если строка с TextBox является Visible, затем TextBox а также DataGrid разделить пространство
Если Text установлен в TextBox, TextBox не расширяется Height,
TextBox а также DataGrid заполняет их ряды.

Пример xaml:

<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 не будет заполнять пустое пространство. 1) начало (2) проблема
Я бы хотел DataGrid распространяется на всю область.

Проблема 2:
Если я не прикасаюсь TextBox строка Height и затем добавить несколько строк текста TextBox будет расширяться Height, Если Height из TextBox строка была ранее изменена, то никаких проблем не возникает. 1) начало (2) задача (3) цель

Какие-либо предложения?

0 ответов

Другие вопросы по тегам