public static ArcGIS.Core.CIM.CIMDictionaryRenderer CreateDictionaryRenderer() { Dictionary <string, string> fieldMapDictionary; if (Standard == SupportedStandardsType.mil2525c_b2) { fieldMapDictionary = fieldMap2525C_B2; } else { fieldMapDictionary = fieldMap2525D; } ArcGIS.Core.CIM.CIMStringMap[] stringMap = new ArcGIS.Core.CIM.CIMStringMap[fieldMapDictionary.Count()]; int count = 0; foreach (KeyValuePair <string, string> pair in fieldMapDictionary) { stringMap[count] = new ArcGIS.Core.CIM.CIMStringMap(); stringMap[count].Key = pair.Key; stringMap[count].Value = pair.Value; count++; } ArcGIS.Core.CIM.CIMDictionaryRenderer dictionaryRenderer = new ArcGIS.Core.CIM.CIMDictionaryRenderer(); dictionaryRenderer.DictionaryName = GetDictionaryString(); dictionaryRenderer.FieldMap = stringMap; return(dictionaryRenderer); }
public async Task <bool> AddFeatureClassToActiveView(string featureClassName) { if (string.IsNullOrEmpty(featureClassName) || string.IsNullOrEmpty(DatabaseName)) { return(await Task.FromResult <bool>(false)); } bool layerAdded = false; await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => { string uri = $@"{DatabaseName}\{ProSymbolUtilities.GetDatasetName()}\{featureClassName}"; Item currentItem = ItemFactory.Instance.Create(uri); if (LayerFactory.Instance.CanCreateLayerFrom(currentItem)) { FeatureLayer fl = LayerFactory.Instance.CreateLayer(currentItem, MapView.Active.Map) as FeatureLayer; if (fl != null) { ArcGIS.Core.CIM.CIMDictionaryRenderer dictionaryRenderer = ProSymbolUtilities.CreateDictionaryRenderer(); fl.SetRenderer(dictionaryRenderer); layerAdded = true; } } }); return(await Task.FromResult <bool>(layerAdded)); }