Existe-t-il un moyen d'ajouter un remplissage réel aux cellules de la table migradoc? Les options qu'ils ont actuellement (LeftPadding et RightPadding) fonctionnent comme des marges et ne sont pas comme du padding. Et si vous l'utilisez, il pousse aussi la couleur d'arrière-plan au lieu de pousser uniquement le contenu.Rembourrage de cellule réelle Migradoc
C'est ce qui se passe lorsque vous ajoutez « padding » à la ligne entière ou des cellules individuelles (ajouté à la première rangée):
Par défaut, il ressemble à ceci:
Si vous souhaitez supprimer l'espace blanc entre les colonnes, il semble que vous deviez le faire en définissant ces propriétés de remplissage à 0, puis vous obtenez ceci:
..which est presque ce que je veux, mais je veux pousser le contenu de la cellule un peu à vers le centre de la cellule de 4 côtés pour qu'il ressemble à cela et a un peu chambre à « respirer »:
Il était même asked on their forums il y a longtemps pour savoir si cela pourrait se faire, mais la réponse ne résout pas le problème du tout. Il mentionne simplement les propriétés de remplissage qui fonctionnent exactement à l'opposé de ce que l'OP de ce thread a demandé (ce qui est la même chose que je veux faire). J'utilise PDFsharp-MigraDoc-gdi v1.50.4000-beta3b paquet nuget.
Des façons de contourner ce comportement étrange? Merci.
EDIT: mis à jour avec un morceau de code que j'utilise et avec peu ajouté recommandé par PdfSharp Novice
var table = new Table();
var columnCount = 4;
for (int i = 0; i < columnCount; i++)
{
table.AddColumn();
}
var hedingRow= table.AddRow();
hedingRow.Format.Font.Bold = true;
hedingRow.Format.Font.Color = Color.Parse("0xFFFFFFFF");
hedingRow.Format.Shading.Color = Color.Parse("0xFF005aa0");
hedingRow.HeadingFormat = true;
hedingRow.Cells[0].AddParagraph("Field");
hedingRow.Cells[1].AddParagraph("Type");
hedingRow.Cells[2].AddParagraph("Default");
hedingRow.Cells[3].AddParagraph(String.Empty);
// Doesn't work as I would assume it should based on PDFsharp Novice
hedingRow.Cells[0].Format.LeftIndent = 4;
hedingRow.Cells[0].Format.RightIndent = 4;
hedingRow.Cells[0].Format.Shading.Color = Color.Parse("0xFF005aa0");
Salut, merci pour la réponse rapide, je vais l'essayer maintenant – pootzko
J'ai essayé ce que vous avez suggéré, mais je ne reçois toujours pas le résultat souhaité. J'ai mis à jour ma question avec un échantillon de code, pourriez-vous s'il vous plaît me dire ce que je fais mal? Merci. – pootzko
Sautez le 'Format' - qui s'applique au texte. Essayez 'hedingRow.Shading.Color = Color.Parse (" 0xFF005aa0 ");' ou 'hedingRow.Cells [0] .Shading.Color = Color.Parse (" 0xFF005aa0 ");' pour définir la couleur de la ligne ou du cellule (y compris le rembourrage). –