WPF Создать выдвижную панель - PullRequest
5 голосов
/ 13 июня 2011

Я не знаю, как это работает технически, но мое требование следующее. У меня есть DataGrid, и для ввода данных в DataGrid я хочу панель внизу DataGrid, которая выдвигается при нажатии кнопки, показывая варианты ввода. За исключением того, что панель выдвигается, DataGrid также должен изменить размер по вертикали. Может кто-нибудь пролить свет на то, как я могу это реализовать?

Ответы [ 2 ]

4 голосов
/ 13 июня 2011

Вы можете использовать Expander. Пожалуйста, посмотрите на следующий фрагмент кода.

 <DockPanel>
        <Expander DockPanel.Dock="Bottom">
            <StackPanel>
                <TextBlock Height="25"></TextBlock>
                <TextBlock Height="25"></TextBlock>
                <TextBlock Height="25"></TextBlock>

            </StackPanel>
        </Expander>
        <Border BorderBrush="LightGreen" BorderThickness="2">
            <DataGrid/>
        </Border>
    </DockPanel >
3 голосов
/ 13 июня 2011

Вы должны иметь возможность использовать StackPanel с 2 детьми, сеткой и панелью. Установите начальную высоту панели на 0 . После нажатия кнопки установите высоту на то, что вам нужно (например, MyPanel.Height = 20). Возможно, вы захотите обернуть сетку в ScrollViewer, если это необходимо.

<StackPanel Orientation="Vertical">
    <ScrollViewer Height="Auto" VerticalAlignment="Stretch">
        <Grid Height="*" VerticalAlignment="Stretch" />
    </ScrollViewer>
    <ContentControl x:Name="MyPanel" Height="0" />
</StackPanel>

Возможно, вам придется поэкспериментировать с VerticalAlignment и Height = "Auto" или Height = "0", чтобы получить нужный макет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...