/// <summary> /// If the optional <see cref="MCDA.Model.ClassBreaksRendererContainer" /> is set and includes all properties the /// method /// creates a new class breaks renderer and performs a partial refresh. /// </summary> /// <param name="renderContainer"></param> /// <param name="featureLayer"></param> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="ArgumentException"></exception> public void Render(RendererContainer renderContainer, IFeatureLayer2 featureLayer) { var geoFeatureLayer = featureLayer as IGeoFeatureLayer; switch (renderContainer.Renderer) { case Renderer.ClassBreaksRenderer: geoFeatureLayer.Renderer = RendererFactory.NewClassBreaksRenderer(renderContainer); break; case Renderer.BiPolarRenderer: geoFeatureLayer.Renderer = RendererFactory.NewUniqueValueRenderer(renderContainer); break; case Renderer.None: geoFeatureLayer.Renderer = RendererFactory.NewSimpleRenderer(); break; } switch (ConfigSingleton.Instance.SelectedRenderoption) { case RenderOption.AfterSliderDrag: PartialRefresh(renderContainer, featureLayer); break; case RenderOption.AnimationLike: case RenderOption.Realtime: default: PartialRefresh(renderContainer, featureLayer, false); break; } }
/// <summary> /// Performs a partial refresh on the feature feature in the in memory workspace. /// </summary> /// <param name="renderContainer"></param> /// <param name="featureLayer"></param> /// <param name="updateTOC"></param> private static void PartialRefresh(RendererContainer renderContainer, IFeatureLayer2 featureLayer, bool updateTOC = true) { var activeView = (IActiveView)ArcMap.Document.FocusMap; if (updateTOC) { activeView.ContentsChanged(); ArcMap.Document.UpdateContents(); } activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, featureLayer, null); }