2015-04-03 2 views
8

У меня есть таблица MigraDoc, где я указываю высоту строки 0,75 см, а текст выравнивается по вертикали в середине ячейки. Когда я устанавливаю cell.Format.Shading.Color на что-то не белое, все еще есть часть ячейки рядом с границей, которая показана как белая вокруг всех четырех сторон.Как установить цвет фона ячейки в таблице MigraDoc

Я обнаружил, что я могу удалить белый раздел слева и справа от текста, установив column.LeftPadding = 0 и column.RightPadding = 0. Однако я не могу понять, как получить белые полосы вверху/нижней части текста, чтобы исчезнуть, не затрагивая вертикальное выравнивание текста. Если я изменю высоту строки абзаца до 0,75 см, полосы исчезнут, но текст будет выровнен по нижнему краю в ячейке. Я не могу установить цвет затенения колонок, потому что каждая ячейка в столбце содержит другой цвет. Кто-нибудь знает способ заставить абзац заполнить ячейку по вертикали (или иначе получить цвет фона в форме в ячейке)?

Вот пример моего кода (в C#), где таблица имеет тип MigraDoc.DocumentObjectModel.Tables.Table:

... 

// Add a column at index #2 
var column = table.AddColumn(); 
column.LeftPadding = 0; 
column.RightPadding = 0; 

// Add more columns 
... 

// Iterate through the data printed in each row 
foreach (var rowData in myData) 
{ 
    // Create a row for the data 
    var row = table.AddRow(); 
    row.Height = ".75cm"; 
    row.Format.Font.Size = 11; 
    row.VerticalAlignment = VerticalAlignment.Center; 

    ... 

    // The following is for illustrative purposes... the actual 
    //  colors and text is determined by the data within the cell 
    var cell = row.Cells[2]; 
    cell.Format.Shading.Color = Colors.Black; 
    cell.Format.Font.Color = Colors.White; 
    var paragraph = cell.AddParagraph("Example"); 

    ... 
} 

ответ

14

Попробуйте cell.Shading.Color вместо cell.Format.Shading.Color - бывшие устанавливает цвет клетки, последний устанавливает цвет фона текста (и заполнение ячейки будет иметь другой цвет).

+0

Я знал, что должен быть способ сделать это правильно. Моим взломам было добавление дополнительного абзаца и установка высоты линии двух абзацев до тех пор, пока не будет согласовано вертикальное выравнивание, и ячейка была полностью заполнена. –

Смежные вопросы