/// <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));
 }
Beispiel #3
0
     /// <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);
		}