文档主题是一组字体、颜色和图形效果,可用于更改文档的整体外观。每个工作簿都有一个由 Workbook.Theme 属性返回的关联主题。新文档应用了默认的 Office 2007 - 2010 主题。您可以为文档使用自定义主题或更改预定义的主题颜色。
在 Microsoft® Excel® 中,可以将文档主题另存为 .thmx 文件,以便在其他文档中重复使用此主题。有关详细信息,请参阅以下主题: 保存自定义主题以供重复使用 。WorkbookTheme.Load 方法允许您加载具有自定义主题的文件并将其应用于工作簿。
以下代码片段将 Quotable 主题应用于文档:
Vb.Net |
Using workbook As New DevExpress.Spreadsheet.Workbook() Dim docTheme As DevExpress.Spreadsheet.WorkbookTheme = workbook.Theme docTheme.Load("D:\Quotable.thmx") End Using |
C# |
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook()) { DevExpress.Spreadsheet.WorkbookTheme docTheme = workbook.Theme; docTheme.Load(@"D:\Quotable.thmx"); } |
调用 WorkbookTheme.GetColors 方法以返回一个 ThemeColorScheme 对象,该对象定义 12 种互补主题颜色的调色板。对象的属性允许您自定义主题颜色。调用 WorkbookTheme.SetColors 方法以将新颜色应用于主题。
下面的示例演示如何使用 Slipstream 调色板的颜色而不是 Office 2013 主题颜色:
Vb.Net |
Using workbook As New DevExpress.Spreadsheet.Workbook() Dim docTheme As DevExpress.Spreadsheet.WorkbookTheme = workbook.Theme Dim themeColors As DevExpress.Spreadsheet.ThemeColorScheme = docTheme.GetColors() themeColors.Name = "Slipstream" themeColors.Dark1 = Color.FromKnownColor(KnownColor.WindowText) themeColors.Light1 = Color.FromKnownColor(KnownColor.Window) themeColors.Dark2 = Color.FromArgb(&H21, &H27, &H45) themeColors.Light2 = Color.FromArgb(&HB4, &HDC, &HFA) themeColors.Accent1 = Color.FromArgb(&H4E, &H67, &HC8) themeColors.Accent2 = Color.FromArgb(&H5E, &HCC, &HF3) themeColors.Accent3 = Color.FromArgb(&HA7, &HEA, &H52) themeColors.Accent4 = Color.FromArgb(&H5D, &HCE, &HAF) themeColors.Accent5 = Color.FromArgb(&HFF, &H80, &H21) themeColors.Accent6 = Color.FromArgb(&HF1, &H41, &H24) themeColors.Hyperlink = Color.FromArgb(&H56, &HC7, &HAA) themeColors.FollowedHyperlink = Color.FromArgb(&H59, &HA8, &HD1) docTheme.SetColors(themeColors) End Using |
C# |
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook()) { DevExpress.Spreadsheet.WorkbookTheme docTheme = workbook.Theme; DevExpress.Spreadsheet.ThemeColorScheme themeColors = docTheme.GetColors(); themeColors.Name = "Slipstream"; themeColors.Dark1 = Color.FromKnownColor(KnownColor.WindowText); themeColors.Light1 = Color.FromKnownColor(KnownColor.Window); themeColors.Dark2 = Color.FromArgb(0x21, 0x27, 0x45); themeColors.Light2 = Color.FromArgb(0xB4, 0xD, 0xFA); themeColors.Accent1 = Color.FromArgb(0x4E, 0x67, 0xC8); themeColors.Accent2 = Color.FromArgb(0x5E, 0xC, 0xF3); themeColors.Accent3 = Color.FromArgb(0xA7, 0xEA, 0x52); themeColors.Accent4 = Color.FromArgb(0x5D, 0xCE, 0xAF); themeColors.Accent5 = Color.FromArgb(0xFF, 0x80, 0x21); themeColors.Accent6 = Color.FromArgb(0xF1, 0x41, 0x24); themeColors.Hyperlink = Color.FromArgb(0x56, 0xC7, 0xAA); themeColors.FollowedHyperlink = Color.FromArgb(0x59, 0xA8, 0xD1); docTheme.SetColors(themeColors); } |
调用 Reset 方法以使用预定义的 Office 主题之一,而不是自定义主题。
Vb.Net |
Using workbook As New DevExpress.Spreadsheet.Workbook() Dim docTheme As DevExpress.Spreadsheet.WorkbookTheme = workbook.Theme '将文档主题更改为默认的Office 2013主题。 docTheme.Reset(DevExpress.Spreadsheet.ThemePreset.Office2013) End Using |
C# |
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook()) { DevExpress.Spreadsheet.WorkbookTheme docTheme = workbook.Theme; // 将文档主题更改为默认的Office 2013主题。 docTheme.Reset(DevExpress.Spreadsheet.ThemePreset.Office2013); } |