0

我正在使用 iTextSharp 创建一个项目符号列表,如下所示:

Dim ul As New iTextSharp.text.List(List.UNORDERED, 10)
ul.SetListSymbol(ChrW(&H2022))

Dim li As New iTextSharp.text.ListItem()
li.Add(New Chunk("...", myFont))
...

ul.Add(li)

问题是无序列表中的项目符号始终是黑色的,无论列表项的颜色如何(由 定义myFont)。我希望列表项颜色和项目符号颜色匹配,但我不知道如何设置项目符号的颜色。

谢谢

4

1 回答 1

2

ListItem是一个子类,Paragraph它基本上是Chunks 的智能集合。构造函数Paragraph并因此ListItem为添加的其他块设置默认值。由于您没有在构造函数中设置任何默认值,因此系统使用自己的默认值,即黑色。

因此,不要使用默认构造函数来ListItem添加内容,而是ListItem.Add()尝试使用带有Chunk.

Dim li = New ListItem(New Chunk("...", myFont))

后续调用li.Add()将使用此构造函数的默认值。如果您真的与Add()路径结婚,您甚至应该能够将这个构造函数与String.Empty您的字体信息一起使用。

另一种方法是ListSymbol使用您指定的字体手动设置。出于某种原因SetListSymbol(),只需要一个字符串,但是您可以使用一个只写属性,它需要一个实际的Chunk:

ul.ListSymbol = New Chunk(ChrW(&H2022), myFont)
于 2013-10-12T15:19:18.203 回答