//Create a new table frame on the active layout.
Layout layout = LayoutView.Active.Layout;
//Perform on the worker thread
await QueuedTask.Run(() =>
{
//Build 2D envelope geometry
Coordinate2D rec_ll = new Coordinate2D(1.0, 3.5);
Coordinate2D rec_ur = new Coordinate2D(7.5, 4.5);
Envelope rec_env = EnvelopeBuilder.CreateEnvelope(rec_ll, rec_ur);
//Reference map frame
MapFrame mf = layout.FindElement("Map Frame") as MapFrame;
//Reference layer
Map m = mf.Map;
FeatureLayer lyr = m.FindLayers("GreatLakes").First() as FeatureLayer;
//Build fields list
var fields = new[] { "NAME", "Shape_Area", "Shape_Length" };
//Construct the table frame
TableFrame tabFrame = LayoutElementFactory.Instance.CreateTableFrame(layout, rec_env, mf, lyr, fields);
});
//Modify an existing tableframe using CIM properties.
//Reference the active layout
Layout layout = LayoutView.Active.Layout;
//Perform on the worker thread
await QueuedTask.Run(() =>
{
//Reference table frame
TableFrame TF = layout.FindElement("Table Frame") as TableFrame;
//Modify CIM properties
CIMTableFrame cimTF = TF.GetDefinition() as CIMTableFrame;
cimTF.Alternate1RowBackgroundCount = 1;
cimTF.Alternate2RowBackgroundCount = 1;
//Apply the changes
TF.SetDefinition(cimTF);
});