public void CreateListRestartAfterHigher()
{
//ExStart
//ExFor:ListLevel.NumberStyle
//ExFor:ListLevel.NumberFormat
//ExFor:ListLevel.IsLegal
//ExFor:ListLevel.RestartAfterLevel
//ExFor:ListLevel.LinkedStyle
//ExFor:ListLevelCollection.GetEnumerator
//ExSummary:Shows how to create a list with some advanced formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Aspose.Words.Lists.List list = doc.Lists.Add(ListTemplate.NumberDefault);
// Level 1 labels will be "Appendix A", continuous and linked to the Heading 1 paragraph style.
list.ListLevels[0].NumberFormat = "Appendix \x0000";
list.ListLevels[0].NumberStyle = NumberStyle.UppercaseLetter;
list.ListLevels[0].LinkedStyle = doc.Styles["Heading 1"];
// Level 2 labels will be "Section (1.01)" and restarting after Level 2 item appears.
list.ListLevels[1].NumberFormat = "Section (\x0000.\x0001)";
list.ListLevels[1].NumberStyle = NumberStyle.LeadingZero;
// Notice the higher level uses UppercaseLetter numbering, but we want arabic number
// of the higher levels to appear in this level, therefore set this property.
list.ListLevels[1].IsLegal = true;
list.ListLevels[1].RestartAfterLevel = 0;
// Level 3 labels will be "-I-" and restarting after Level 2 item appears.
list.ListLevels[2].NumberFormat = "-\x0002-";
list.ListLevels[2].NumberStyle = NumberStyle.UppercaseRoman;
list.ListLevels[2].RestartAfterLevel = 1;
// Make labels of all list levels bold.
foreach (ListLevel level in list.ListLevels)
level.Font.Bold = true;
// Apply list formatting to the current paragraph.
builder.ListFormat.List = list;
// Exercise the 3 levels we created two times.
for (int n = 0; n < 2; n++)
{
for (int i = 0; i < 3; i++)
{
builder.ListFormat.ListLevelNumber = i;
builder.Writeln("Level " + i);
}
}
builder.ListFormat.RemoveNumbers();
builder.Document.Save(MyDir + @"\Artifacts\Lists.CreateListRestartAfterHigher.doc");
//ExEnd
}