You need to iterate through the dictionary of plot style names in the Named Object Dictionary to find all plot styles available. In the dictionary, each entry is a type of System.Collections.DictionaryEntry. Each DictionaryEntry object has a Key/Value pair of properties. The Key property is the name of the plot style and the value stores the Object ID of a PlaceHolder object.
[CommandMethod("ListPlotStyleName")]
static public void ListPlotStyleName()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
ObjectId psDictId = db.PlotStyleNameDictionaryId;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
DBDictionary dicObj = tr.GetObject(psDictId,
OpenMode.ForRead) as DBDictionary;
foreach (DBDictionaryEntry entry in dicObj)
{
//key will be name
ed.WriteMessage(entry.Key + "\n");
//entry.Value will have object id of PlaceHolder
}
tr.Commit();
}
}