DuplicateStyle

CleanupOptions.DuplicateStyle property

الحصول على/تعيين علامة تشير إلى ما إذا كان يجب إزالة الأنماط المكررة من المستند. القيمة الافتراضية هيخطأ شنيع .

public bool DuplicateStyle { get; set; }

أمثلة

يوضح كيفية إزالة الأنماط المكررة من المستند.

Document doc = new Document();

// أضف نمطين إلى المستند بخصائص متطابقة،
// ولكن أسماء مختلفة. ويعتبر النمط الثاني نسخة مكررة من الأول.
Style myStyle = doc.Styles.Add(StyleType.Paragraph, "MyStyle1");
myStyle.Font.Size = 14;
myStyle.Font.Name = "Courier New";
myStyle.Font.Color = Color.Blue;

Style duplicateStyle = doc.Styles.Add(StyleType.Paragraph, "MyStyle2");
duplicateStyle.Font.Size = 14;
duplicateStyle.Font.Name = "Courier New";
duplicateStyle.Font.Color = Color.Blue;

Assert.AreEqual(6, doc.Styles.Count);

// قم بتطبيق كلا النمطين على فقرات مختلفة داخل المستند.
DocumentBuilder builder = new DocumentBuilder(doc);
builder.ParagraphFormat.StyleName = myStyle.Name;
builder.Writeln("Hello world!");

builder.ParagraphFormat.StyleName = duplicateStyle.Name;
builder.Writeln("Hello again!");

ParagraphCollection paragraphs = doc.FirstSection.Body.Paragraphs;

Assert.AreEqual(myStyle, paragraphs[0].ParagraphFormat.Style);
Assert.AreEqual(duplicateStyle, paragraphs[1].ParagraphFormat.Style);

// قم بتكوين كائن CleanOptions، ثم قم باستدعاء طريقة التنظيف لاستبدال كافة الأنماط المكررة
// مع النسخة الأصلية وإزالة التكرارات من المستند.
CleanupOptions cleanupOptions = new CleanupOptions { DuplicateStyle = true };

doc.Cleanup(cleanupOptions);

Assert.AreEqual(5, doc.Styles.Count);
Assert.AreEqual(myStyle, paragraphs[0].ParagraphFormat.Style);
Assert.AreEqual(myStyle, paragraphs[1].ParagraphFormat.Style);

أنظر أيضا