// 1. Add an embeddable control using VS template. This is the daml entry //<categories> // <updateCategory refID = "esri_embeddableControls"> // <insertComponent id="SketchTip_EmbeddableControl1" className="EmbeddableControl1ViewModel"> // <content className = "EmbeddableControl1View"/> // </insertComponent> // </updateCategory> // </categories> // 2. Define UI controls on the EmbeddableControl1View // 3. Define properties on the EmbeddableControl1ViewModel which // bind to the UI controls on the EmbeddableControl1View public class SketchToolWithUISketchTip : MapTool { public SketchToolWithUISketchTip() { IsSketchTool = true; SketchType = SketchGeometryType.Line; SketchOutputMode = SketchOutputMode.Map; SketchTipID = "SketchTip_EmbeddableControl1"; } protected override Task<bool> OnSketchModifiedAsync() { var sketchTipVM = SketchTipEmbeddableControl as EmbeddableControl1ViewModel; if (sketchTipVM != null) { // modify properties on the sketchTipVM QueuedTask.Run(async () => { var sketch = await GetCurrentSketchAsync(); var line = sketch as Polyline; var count = line.PointCount; sketchTipVM.Text = "Vertex Count " + count.ToString(); }); } return base.OnSketchModifiedAsync(); } }
Target Platforms: Windows 11, Windows 10