你如何在migradoc/pdfsharp中有一个弹出的列表

leo*_*ora 14 c# pdfsharp migradoc

即使在阅读了这篇论坛帖子后,如何使用migradoc/pdfsharp创建一个弹出列表仍然令人困惑.我基本上想要显示这样的项目列表:

  • 躲闪
  • 日产
  • 烦扰

Je *_*not 20

这是一个示例(添加到HelloWorld示例中的几行):

// Add some text to the paragraph
paragraph.AddFormattedText("Hello, World!", TextFormat.Italic);

// Add Bulletlist begin
Style style = document.AddStyle("MyBulletList", "Normal");
style.ParagraphFormat.LeftIndent = "0.5cm";
string[] items = "Dodge|Nissan|Ford|Chevy".Split('|');
for (int idx = 0; idx < items.Length; ++idx)
{
  ListInfo listinfo = new ListInfo();
  listinfo.ContinuePreviousList = idx > 0;
  listinfo.ListType = ListType.BulletList1;
  paragraph = section.AddParagraph(items[idx]);
  paragraph.Style = "MyBulletList";
  paragraph.Format.ListInfo = listinfo;
}
// Add Bulletlist end

return document;
Run Code Online (Sandbox Code Playgroud)

我没有使用AddToList方法将它们全部放在一个地方.在一个真正的应用程序中,我会使用该方法(它是一个用户定义的方法,在这个线程中给出的代码).

  • 好的谢谢.我会将这个细节添加到样式中以使其对齐:style.ParagraphFormat.LeftIndent ="1cm"; style.ParagraphFormat.FirstLineIndent =" - 0.5cm"; (3认同)
  • @Sabareesh Kkanan:每个项目符号项都是一个段落,项目符号列表是一系列段落.如果条目跨越多行,则允许高级格式化(例如,第一行缩进). (2认同)

Rob*_*aap 7

比上面的答案简洁一点:

var document = new Document();

var style = document.AddStyle("BulletList", "Normal");
style.ParagraphFormat.LeftIndent = "0.5cm";
style.ParagraphFormat.ListInfo = new ListInfo
{
    ContinuePreviousList = true,
    ListType = ListType.BulletList1
};

var section = document.AddSection();
section.AddParagraph("Bullet 1", "BulletList");
section.AddParagraph("Bullet 2", "BulletList");
Run Code Online (Sandbox Code Playgroud)

样式只创建一次,包括listinfo,可以在任何地方重复使用.