Базовая стыковка / стиль якоря - PullRequest
0 голосов
/ 02 марта 2012

У меня есть проект WPF на C #, над которым я работаю.У меня есть TabPage, которая содержит три элемента управления: 2 текстовых поля и сетку данных.Я хочу, чтобы все три поместились на странице в зависимости от размера родителя (вкладка, на которой он расположен).

Одно текстовое поле должно быть справа (заканчивается в другом текстовом поле), апоследнее текстовое поле вдоль полного дна.

GRID |TEXTBOX1

--- TEXTBOX ---

Я экспериментировал со стилями стыковки и закрепления, но я не уверен, как правильно использовать их с несколькими элементами на странице.

В настоящее время у меня есть Textbox1 Dock.Right, Textbox2 Dock.Bottom.Я хочу, чтобы оставшийся DataGridView заполнил оставшееся пространство.Однако использование Dock.Fill просто заполняет всю родительскую форму и перекрывает текстовые поля.

Правильно ли я поступаю?Я видел что-то на DockPanel, у которого было свойство «LastChildFill», но, похоже, оно ко мне не относится (может быть неправильно?).Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Просто используйте Grids.

например, один Grid с двумя строками, верхний ряд содержит еще один Grid с двумя столбцами.

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition /> <!-- Fill All -->
        <RowDefinition Height="Auto" /> <!-- Fit to content -->
    </Grid.RowDefinitions>
    <Grid Grid.Row="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <DataGrid Grid.Column="0" />
        <TextBox Grid.Column="1" />
    </Grid>
    <TextBox Grid.Row="1" />
</Grid>
1 голос
/ 02 марта 2012

Кажется, ты рядом.Используйте DockPanel и установите DockPanel.Dock на элементах управления следующим образом:

TextBox1: справа

TextBox2: снизу

DataGridView: заливка

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