Public Function GetSegmentSymbolOptions() As SegmentSymbolOptions
public SegmentSymbolOptions GetSegmentSymbolOptions()
Public Function GetSegmentSymbolOptions() As SegmentSymbolOptions
public SegmentSymbolOptions GetSegmentSymbolOptions()
| Exception | Description |
|---|---|
| ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
{
var options = ApplicationOptions.EditingOptions;
//var options = ApplicationOptions.EditingOptions;
await QueuedTask.Run(() =>
{
var seg_options = options.GetSegmentSymbolOptions();
//to convert the options to a symbol use
//SymbolFactory. Note: this is approximate....sketch isn't using the
//CIM directly for segments
var layers = new List<CIMSymbolLayer>();
var stroke0 = SymbolFactory.Instance.ConstructStroke(seg_options.PrimaryColor,
seg_options.Width, SimpleLineStyle.Dash);
layers.Add(stroke0);
if (seg_options.HasSecondaryColor)
{
var stroke1 = SymbolFactory.Instance.ConstructStroke(
seg_options.SecondaryColor, seg_options.Width, SimpleLineStyle.Solid);
layers.Add(stroke1);
}
//segment symbology only
var sketch_line = new CIMLineSymbol()
{
SymbolLayers = layers.ToArray()
};
});
}
{
var options = ApplicationOptions.EditingOptions;
//var options = ApplicationOptions.EditingOptions;
await QueuedTask.Run(() =>
{
//change the segment symbol primary color to green and
//width to 1 pt
var segSymbol = options.GetSegmentSymbolOptions();
segSymbol.PrimaryColor = ColorFactory.Instance.GreenRGB;
segSymbol.Width = 1;
//Are these valid?
if (options.CanSetSegmentSymbolOptions(segSymbol))
{
//apply them
options.SetSegmentSymbolOptions(segSymbol);
}
});
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)