/// <summary> /// Used to override the symbols for midvertex with a different <see cref="SimpleMarkerSymbol"/>, /// vertex and selected vertex with a <see cref="CompositeSymbol"/> that contains <see cref="TextSymbol"/> /// where <see cref="TextSymbol.Text"/> includes the coordinate index of vertex. /// </summary> /// <param name="generateSymbolInfo"><see cref="Editor.GenerateSymbolInfo"/></param> /// <returns>Generated Symbol</returns> protected override Symbol OnGenerateSymbol(GenerateSymbolInfo generateSymbolInfo) { if (generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.Vertex && generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.SelectedVertex && generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.MidVertex) return base.OnGenerateSymbol(generateSymbolInfo); if (generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.MidVertex) return new SimpleMarkerSymbol() { Color = Color.FromArgb(1, 0, 0, 0), Outline = new SimpleLineSymbol() {Width = 2, Color = Colors.White}, Size = 6 }; return new CompositeSymbol() { Symbols = new SymbolCollection(new Symbol[] { new SimpleMarkerSymbol() { Color = Colors.White, Size = 14, Outline = new SimpleLineSymbol() {Width = 1.5, Color = Colors.CornflowerBlue}, }, new TextSymbol() { Text = Convert.ToString(generateSymbolInfo.VertexPosition.CoordinateIndex + 1, CultureInfo.InvariantCulture), HorizontalTextAlignment = HorizontalTextAlignment.Center, VerticalTextAlignment = VerticalTextAlignment.Middle }, }) }; }
protected override Esri.ArcGISRuntime.Symbology.Symbol OnGenerateSymbol(GenerateSymbolInfo generateSymbolInfo) { if (generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.Vertex || generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.SelectedVertex) { var index = generateSymbolInfo.VertexPosition.CoordinateIndex + 1; return(new CompositeSymbol() { Symbols = new SymbolCollection(new Esri.ArcGISRuntime.Symbology.Symbol[] { new SimpleMarkerSymbol { Color = Colors.White, Size = 14.5, Outline = new SimpleLineSymbol() { Width = 1.5, Color = Colors.CornflowerBlue }, }, new TextSymbol { Text = Convert.ToString(index, CultureInfo.InvariantCulture), HorizontalTextAlignment = HorizontalTextAlignment.Center, VerticalTextAlignment = VerticalTextAlignment.Middle } }) }); } return(base.OnGenerateSymbol(generateSymbolInfo)); }
/// <summary> /// Used to override the symbols for midvertex with a different <see cref="SimpleMarkerSymbol"/>, /// vertex and selected vertex with a <see cref="CompositeSymbol"/> that contains <see cref="TextSymbol"/> /// where <see cref="TextSymbol.Text"/> includes the coordinate index of vertex. /// </summary> /// <param name="generateSymbolInfo"><see cref="Editor.GenerateSymbolInfo"/></param> /// <returns>Generated Symbol</returns> protected override Symbol OnGenerateSymbol(GenerateSymbolInfo generateSymbolInfo) { if (generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.Vertex && generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.SelectedVertex && generateSymbolInfo.GenerateSymbolType != GenerateSymbolType.MidVertex) { return(base.OnGenerateSymbol(generateSymbolInfo)); } if (generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.MidVertex) { return new SimpleMarkerSymbol() { Color = Color.FromArgb(1, 0, 0, 0), Outline = new SimpleLineSymbol() { Width = 2, Color = Colors.White }, Size = 6 } } ; return(new CompositeSymbol() { Symbols = new SymbolCollection(new Symbol[] { new SimpleMarkerSymbol() { Color = Colors.White, Size = 14, Outline = new SimpleLineSymbol() { Width = 1.5, Color = Colors.CornflowerBlue }, }, new TextSymbol() { Text = Convert.ToString(generateSymbolInfo.VertexPosition.CoordinateIndex + 1, CultureInfo.InvariantCulture), HorizontalTextAlignment = HorizontalTextAlignment.Center, VerticalTextAlignment = VerticalTextAlignment.Middle }, }) }); } }
protected override Esri.ArcGISRuntime.Symbology.Symbol OnGenerateSymbol(GenerateSymbolInfo generateSymbolInfo) { if (generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.Vertex || generateSymbolInfo.GenerateSymbolType == GenerateSymbolType.SelectedVertex) { var index = generateSymbolInfo.VertexPosition.CoordinateIndex + 1; return new CompositeSymbol() { Symbols = new SymbolCollection(new Esri.ArcGISRuntime.Symbology.Symbol[] { new SimpleMarkerSymbol { Color = Colors.White, Size = 14.5, Outline = new SimpleLineSymbol() {Width = 1.5, Color = Colors.CornflowerBlue}, }, new TextSymbol { Text = Convert.ToString(index, CultureInfo.InvariantCulture), HorizontalTextAlignment = HorizontalTextAlignment.Center, VerticalTextAlignment = VerticalTextAlignment.Middle } }) }; } return base.OnGenerateSymbol(generateSymbolInfo); }