Tôi đã tạo ảnh này trong MS Word và tôi đang cố gắng sao chép kiểu trong ứng dụng WPF của mình bằng Tài liệu. Đầu tiên là 'từ':Tài liệu WPF: Nhận đường viền của ô Bảng phải
alt text http://img337.imageshack.us/img337/1275/correntborder.png
Tiếp nỗ lực của tôi để tái tạo:
alt text http://img156.imageshack.us/img156/1711/extrawhiteborder.png
Câu hỏi của tôi có lẽ là khá rõ ràng. Tôi đang làm gì sai? Tôi không thể tìm thấy thuộc tính padding trên hàng nhóm hoặc hàng. Dưới đây là mã của tôi:
public override FlowDocument CreateDocumentSection(IInteractivityElement pElement)
{
var result = new FlowDocument();
// show the header
result.Blocks.Add(CreateHeading(pElement.Header));
// we don't show anything else if there aren't any columns
var nrColumns = pElement.GetIntegralData("CurrentColumnCount") ?? 0;
if (nrColumns == 0) return result;
Table mainTable = new Table();
result.Blocks.Add(mainTable);
// columns
for (long tableIdx = 0; tableIdx < nrColumns; tableIdx++)
{
var newColumn = new TableColumn();
mainTable.Columns.Add(newColumn);
}
// row group for header
TableRowGroup rowGroup = new TableRowGroup();
mainTable.RowGroups.Add(rowGroup);
// row for header
TableRow headerRow = new TableRow();
headerRow.Background = new SolidColorBrush(Color.FromRgb(79, 129, 189));
headerRow.Foreground = new SolidColorBrush(Colors.White);
rowGroup.Rows.Add(headerRow);
// add columns for each header cell
for (long tableIdx = 0; tableIdx < nrColumns; tableIdx++)
{
var headerNameKey = CreateColumnNameKey(tableIdx);
TableCell headerCell = new TableCell(new Paragraph(new Run(pElement.GetStringData(headerNameKey))));
headerRow.Cells.Add(headerCell);
}
TableRow emptyRow = new TableRow();
emptyRow.Foreground = new SolidColorBrush(Colors.Gray);
rowGroup.Rows.Add(emptyRow);
TableCell emptyInstructionCell = new TableCell();
emptyInstructionCell.BorderBrush = new SolidColorBrush(Color.FromRgb(79, 129, 189));
emptyInstructionCell.BorderThickness = new Thickness(1.0);
emptyInstructionCell.ColumnSpan = Convert.ToInt32(nrColumns);
emptyInstructionCell.Blocks.Add(new Paragraph(new Run(pElement.Instruction)));
emptyRow.Cells.Add(emptyInstructionCell);
return result;
}
nếu các ô không có cùng chiều cao thì bạn gặp khó khăn – GorillaApe