Programmatically get all the available SharePoint site themes

In this article we will be seeing how to get all the available SharePoint site themes using SharePoint object model.

Go to Site Actions => Site Settings => Look and Feel => Site theme.


Programmatically get all the available site themes:

1. Open Visual Studio 2010.

2. Go to File => New => Project.

3. Select Console Application from the installed templates.

4. Enter the Name and click on Ok.

5. Add the following Namespaces.

o using Microsoft.SharePoint.Utilities; o using System.Collections.ObjectModel;

6. Replace Program.cs with the following code.

  1. using System;

  2. using System.Collections.Generic;

  3. using System.Linq;

  4. using System.Text;

  5. using Microsoft.SharePoint;

  6. using System.Xml;

  7. using Microsoft.SharePoint.Utilities;

  8. using System.Collections.ObjectModel;

  9. namespace Themes

  10. {

  11. class Program

  12. static void Main(string[] args)       

  13. {

  14. using (SPSite siteCollection = new SPSite("http://serverName:1111/sites/sample"))           

  15. {

  16. using (SPWeb web = siteCollection.OpenWeb())               

  17. {

  18. ReadOnlyCollection<ThmxTheme> themes =ThmxTheme.GetManagedThemes(siteCollection);

  19. foreach (ThmxTheme theme in themes)                   

  20. {

  21. Console.WriteLine(theme.Name);                   

  22. }

  23. Console.ReadLine();               

  24. }           

  25. }       

  26. }   

  27. }

  28. }

7. Build the solution.

8. Hit F5.


Output:













ThmxTheme class:

Represents a Microsoft Office XML theme file. The methods and properties of this class enable read and write operations on the theme name, the color list, and the font list. For more information referhttp://msdn.microsoft.com/en-us/library/ee658367.aspx.

ReadOnlyCollection:

Provides the base class for a generic read-only collection.

Recent Posts

See All