protected void SetSketchSegmentSymbolOptions( SegmentSymbolOptions options )
Protected Sub SetSketchSegmentSymbolOptions( _ ByVal options As SegmentSymbolOptions _ )
Parameters
- options
protected void SetSketchSegmentSymbolOptions( SegmentSymbolOptions options )
Protected Sub SetSketchSegmentSymbolOptions( _ ByVal options As SegmentSymbolOptions _ )
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
System.ArgumentException | Symbol options are not valid. See ArcGIS.Desktop.Core.EditingOptions.CanSetSegmentSymbolOptions for details on option settings. |
//Custom tools have the ability to change the symbology used when sketching a new feature. //Both the Sketch Segment Symbol and the Vertex Symbol can be modified using the correct set method. //This is set in the activate method for the tool. protected override Task OnToolActivateAsync(bool active) { QueuedTask.Run(() => { //Getting the current symbology options of the segment var segmentOptions = GetSketchSegmentSymbolOptions(); //Modifying the primary and secondary color and the width of the segment symbology options var deepPurple = new CIMRGBColor(); deepPurple.R = 75; deepPurple.G = 0; deepPurple.B = 110; segmentOptions.PrimaryColor = deepPurple; segmentOptions.Width = 4; segmentOptions.HasSecondaryColor = true; var pink = new CIMRGBColor(); pink.R = 219; pink.G = 48; pink.B = 130; segmentOptions.SecondaryColor = pink; //Creating a new vertex symbol options instance with the values you want var vertexOptions = new VertexSymbolOptions(VertexSymbolType.RegularUnselected); var yellow = new CIMRGBColor(); yellow.R = 255; yellow.G = 215; yellow.B = 0; var purple = new CIMRGBColor(); purple.R = 148; purple.G = 0; purple.B = 211; vertexOptions.AngleRotation = 45; vertexOptions.Color = yellow; vertexOptions.MarkerType = VertexMarkerType.Star; vertexOptions.OutlineColor = purple; vertexOptions.OutlineWidth = 3; vertexOptions.Size = 5; //Setting the value of the segment symbol options SetSketchSegmentSymbolOptions(segmentOptions); //Setting the value of the vertex symbol options of the regular unselected vertices using the vertexOptions instance created above. SetSketchVertexSymbolOptions(VertexSymbolType.RegularUnselected, vertexOptions); }); return base.OnToolActivateAsync(active); }
Target Platforms: Windows 11, Windows 10