Как выровнять таблицу WPF по центру другой таблицы? - PullRequest
1 голос
/ 14 ноября 2011

Ответ может быть в две строки. Я искал везде, но в конечном итоге нигде.

У меня есть вложенная таблица (таблица внутри другой таблицы). Как выровнять таблицу горизонтально по центру текущей ячейки?

Я хочу ответы на WPF.

Вот пример кода:

//Create new Table
Table myTable = new Table();
// Add a column
myTable.Columns.Add(new TableColumn() { Width = new GridLength(500) });
TableRowGroup trg = new TableRowGroup();
// Create new Row element
TableRow currentRow = new TableRow();
// Add another table to the Cell
currentRow.Cells.Add(AnotherTable);
trg.Rows.Add(currentRow);
myTable.RowGroups.Add(trg);

Это класс System.Windows.Documents.Table.

Ответы [ 4 ]

2 голосов
/ 14 ноября 2011

Насколько я могу видеть из Обзора таблицы , элементы таблицы не могут быть абсолютно позиционированы относительно области их границ "ячеек". Единственное решение - использовать вложенный контейнер пользовательского интерфейса:

<TableCell>
    <BlockUIContainer>
        <Border Width="300">
            <FlowDocumentReader HorizontalAlignment="Center" Width="150">
                <FlowDocument>
                    <Table x:Name="nestedTable" Background="Blue">
                        <!--  table content -->
                    </Table>
                </FlowDocument>
            </FlowDocumentReader>
        </Border>
    </BlockUIContainer>
</TableCell>
1 голос
/ 14 ноября 2011

Вы пробовали TableCell.TextAlignment свойство?

0 голосов
/ 14 ноября 2011

Вместо того, чтобы вносить в таблицу содержимое ячейки, оберните вложенную таблицу чем-то вроде Grid, который поддерживает выравнивание в своих границах.

0 голосов
/ 14 ноября 2011

Как только с вашими кодами все в порядке, тогда это может хорошо сработать.

DataGridView1.DataSource = myTable ;
this.dataGridView1.Columns["MyColumnName"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 

Надеюсь, вы получите разрешение PARAMU

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