2011-10-07 43 views
2

我有一個函數需要幾個字體參數,並在RunProperties類中生成所需的字體。我如何打開/關閉Bold類? MSDN在這個問題上是沒用的。C#OpenXml Selective Font Bolding

public RunProperties getRCFont(int size, string color = "000000", string font = "Futura Bk BT", bool bld = false, bool und = false) { 

    return new RunProperties(new Bold() { Val = bld ? OnOffOnlyValues.On : OnOffOnlyValues.Off }); 

} 

這是不行的,會產生這個錯誤:

Error 1 Cannot implicitly convert type 'DocumentFormat.OpenXml.Wordprocessing.OnOffOnlyValues' to 'DocumentFormat.OpenXml.OnOffValue'

但OnOffValue類沒有屬性!

P.S. :下劃線類具有UnderlineValues類,但不適用於Bold類(如BoldValues),b。

編輯 - 我很抱歉我明白了。對於任何有興趣的解決方案:

return new RunProperties(new Bold() { Val = bld ? new OnOffValue { Value = true } : new OnOffValue { Value = false } }); 

回答

0
RunProperties(new Bold() { Val = bld ? new OnOffValue { Value = true } : new OnOffValue { Value = false } }); 
+2

另一個(更短的)寫法: RunProperties(new Bold(){Val = OnOffValue.FromBoolean(bld)}); – Rudolf

0

可以使用BLD,而不是使用操作恢復行 「:」

RunProperties(新款Bold(){瓦爾=新OnOffValue {值= bld}});