How to access or set Text Symbol from Table Frame using ArcGIS Pro SDK
internal class Button1 : Button { protected override void OnClick() { var layout = LayoutView.Active.Layout; if (layout == null) return; QueuedTask.Run(() => { var tableFrame = layout.GetElements().OfType<TableFrame>().FirstOrDefault(); if (tableFrame != null) { //change the text symbol //the property panel conflates the symbols for each field var frame_def = tableFrame.GetDefinition() as CIMTableFrame; var fields = frame_def.Fields?.ToList() ?? new List<CIMTableFrameField>(); var green = ColorFactory.Instance.CreateColor( System.Windows.Media.Colors.ForestGreen); var size = 11; var fontName = "Bernard MT Condensed"; var textSymbol = SymbolFactory.Instance.ConstructTextSymbol(green, size, fontName); foreach (var frameField in fields) { //to mimic the property sheet, change heading and field symbols frameField.HeadingTextSymbol.Symbol = textSymbol; frameField.TextSymbol.Symbol = textSymbol; } //these are defaults for new fields - optional - but, based on //some experimentation, they need to match if u want the property //sheet to show the changed symbology. frame_def.DefaultTableFrameField.HeadingTextSymbol.Symbol = textSymbol; frame_def.DefaultTableFrameField.TextSymbol.Symbol = textSymbol; //commit the changes tableFrame.SetDefinition(frame_def); } }); } }
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步