<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How test my draw before drawing? in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759683#M9492</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've a problem with drawing on map on &lt;STRONG&gt;ArcGIS SDK 100.7 for .NET&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;I'm using SketchEditor and I need to configure visibility of a button with SketchEditor.CompleteCommand.CanExecute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem is that the execution of my test is always done before the drawing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="text-decoration: underline; "&gt;Sequence step by step :&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV style="background-color: black;"&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Step 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #ffffff;"&gt;&lt;SPAN style="color: #33cccc;"&gt;Geometry&lt;/SPAN&gt; g = &lt;SPAN style="color: #3366ff;"&gt;await&lt;/SPAN&gt; MapView.SketchEditor.StartAsync(&lt;SPAN style="color: #ccffcc;"&gt;SketchCreationMode&lt;/SPAN&gt;.Point, &lt;SPAN style="color: #3366ff;"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Async method&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;SPAN style="color: #339966;"&gt; //Return false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Step 2 :&amp;nbsp;Click on the map&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #339966;"&gt;//Return false&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//The 1st drawing appears on the&amp;nbsp;map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #339966;"&gt;//Step 3 : Click on the map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Return&amp;nbsp;true but detect only&amp;nbsp;1st point instead of 1st &amp;amp; 2nd.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #339966; "&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="background-color: #000000;"&gt;//The 2nd drawing appears on the&amp;nbsp;map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My goal is to detect the first point into my first control.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The difficult is my initialisation are asynchrone, but my control is synchrone.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I tried to pass the 2 asynchronously but the error is still present.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Currently, my button appears when creating the 2nd point. I have the same problem for polylines and polygons. My button appears at the 3rd point for my polyline, and at my 4th point for my polygon. There is always a point of delay.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Have you got any idea?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Feb 2020 09:08:47 GMT</pubDate>
    <dc:creator>KilianBahuaud</dc:creator>
    <dc:date>2020-02-26T09:08:47Z</dc:date>
    <item>
      <title>How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759683#M9492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've a problem with drawing on map on &lt;STRONG&gt;ArcGIS SDK 100.7 for .NET&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;I'm using SketchEditor and I need to configure visibility of a button with SketchEditor.CompleteCommand.CanExecute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem is that the execution of my test is always done before the drawing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="text-decoration: underline; "&gt;Sequence step by step :&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV style="background-color: black;"&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Step 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #ffffff;"&gt;&lt;SPAN style="color: #33cccc;"&gt;Geometry&lt;/SPAN&gt; g = &lt;SPAN style="color: #3366ff;"&gt;await&lt;/SPAN&gt; MapView.SketchEditor.StartAsync(&lt;SPAN style="color: #ccffcc;"&gt;SketchCreationMode&lt;/SPAN&gt;.Point, &lt;SPAN style="color: #3366ff;"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Async method&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;SPAN style="color: #339966;"&gt; //Return false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Step 2 :&amp;nbsp;Click on the map&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ffffff;"&gt;-&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #339966;"&gt;//Return false&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//The 1st drawing appears on the&amp;nbsp;map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="color: #339966;"&gt;//Step 3 : Click on the map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt; &lt;SPAN style="color: #ffffff;"&gt;MapView.SketchEditor.CompleteCommand.CanExecute(&lt;SPAN style="color: #3366ff;"&gt;null&lt;/SPAN&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;//Return&amp;nbsp;true but detect only&amp;nbsp;1st point instead of 1st &amp;amp; 2nd.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #339966; "&gt;&lt;SPAN style="color: #ffffff;"&gt;-&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="background-color: #000000;"&gt;//The 2nd drawing appears on the&amp;nbsp;map&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My goal is to detect the first point into my first control.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The difficult is my initialisation are asynchrone, but my control is synchrone.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I tried to pass the 2 asynchronously but the error is still present.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Currently, my button appears when creating the 2nd point. I have the same problem for polylines and polygons. My button appears at the 3rd point for my polyline, and at my 4th point for my polygon. There is always a point of delay.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Have you got any idea?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2020 09:08:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759683#M9492</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-02-26T09:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759684#M9493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The CompleteCommand is managed by the API and cannot be used in the ways you are describing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you use the SketchEditor you basically give control of the map to device input.&amp;nbsp; Once you call&lt;/P&gt;&lt;PRE class="line-numbers language-csharp"&gt;&lt;CODE&gt;geometry &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;await&lt;/SPAN&gt; SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;StartAsync&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sketchCreationMode&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;false&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Map is now waiting for input, (i.e., a mouse-click or tap).&amp;nbsp; The API basically controls things until the correct input is received.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure I understand the goal you are trying to achieve.&amp;nbsp; Do you want the use to be able to accept the placement of the geometry?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2020 16:07:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759684#M9493</guid>
      <dc:creator>JoeHershman</dc:creator>
      <dc:date>2020-02-26T16:07:25Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759685#M9494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My real problem is the order of event execution.&lt;/P&gt;&lt;P&gt;After a click, the MapView Tapped event is detected before the geometry creation.&lt;/P&gt;&lt;P&gt;So, I don't know how control future geometry because it doesn't yet exist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know how to reverse the order of execution of events?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2020 08:26:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759685#M9494</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-02-27T08:26:30Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759686#M9495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not sure what you mean by 'control future geometry.'&amp;nbsp; The geometry is created by the SketchEditor.&amp;nbsp; In the method you are calling&amp;nbsp;&lt;/P&gt;&lt;PRE class="" style="color: #000000; background: #f5f2f0; border: 0px; margin: 0.5em 0px; padding: 1em 1em 1em 3.8em;"&gt;mapPoint = (MapPoint)await SketchEditor.StartAsync(SketchCreationMode.Point, false);&lt;/PRE&gt;&lt;P&gt;The next line of code will have the geometry after the MapView is tapped.&amp;nbsp; You really don't need to do anything in the MapView.Tapped event handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do you want your button to be doing?&amp;nbsp; I am not clear what your workflow is.&amp;nbsp; You will need some kind of Command to initiate the call above to the SketchEditor.&amp;nbsp; In the esri provided sample they have a button that when invoked Starts the sketch editor.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2020 17:28:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759686#M9495</guid>
      <dc:creator>JoeHershman</dc:creator>
      <dc:date>2020-02-27T17:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759687#M9496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What I want to do is very simple.&lt;/P&gt;&lt;P&gt;If any geometry is created, then my button is visible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My button is here to validate the draw. I need to detect that the drawing can be completed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-If SketchEditor initialized but no drawing, then button "Validate" hidden&lt;/P&gt;&lt;P&gt;-If SketchEditor.Command.canComplete then button "Validate" visible&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Feb 2020 13:29:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759687#M9496</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-02-28T13:29:28Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759688#M9497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The easiest is to just bind the command to the button, and it'll automatically enable/disable. That's actually the main reason it's a command.&lt;/P&gt;&lt;P&gt;ie&lt;/P&gt;&lt;P&gt;&amp;lt;Button Command="{Binding SketchEditor.CompleteCommand, ElementName=mapView}" Content="Complete" /&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to&amp;nbsp;do it programmatically, use the CanExecuteChanged event on the ICommand interface to detect when the state of the command might have changed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Mar 2020 17:09:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759688#M9497</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2020-03-02T17:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759689#M9498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yup I'll have to eat a little crow here, I have set the SketchCreationMode to false in our standard configuration which behaves differently and just triggers on the click.&amp;nbsp; Although I don't think binding directly to SketchEditor.CompleteCommand does what is being asked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Xaml:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;Button&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Command&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding CompleteCommand}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Text&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Yo Dude&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Height&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;30&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;IsVisible&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding YoVisible}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In ViewModel (I have SketchEditor initialized in ViewModels through an event, so this would be slightly different in the MapView's ViewModel):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;EventAggregator&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;GetEvent&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;SketchEditorInitializedEvent&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Subscribe&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;se &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
	SketchEditor &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; se&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CanExecuteChanged &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; CompleteCommandOnCanExecuteChanged&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CompleteCommandOnCanExecuteChanged&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt; sender&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; EventArgs e&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
	&lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; x &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Geometry&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; x &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
	&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
		YoVisible &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;true&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
	Console&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;WriteLine&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Here"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;bool&lt;/SPAN&gt; YoVisible
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
	&lt;SPAN class="keyword token"&gt;get&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; _yoVisible&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="keyword token"&gt;set&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;SetProperty&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;ref&lt;/SPAN&gt; _yoVisible&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;value&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; ICommand CompleteCommand &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;DelegateCommand&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ExecuteComplete&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ExecuteComplete&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt; obj&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
	&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CanExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
	&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
		SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Execute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Although you really don't need the if statement in the ExecuteComplete as the button is only visible if the CanExecute is True&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't see any way that you could actually know what CanExecute is besides there being a geometry associated to the SketchEditor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:16:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759689#M9498</guid>
      <dc:creator>JoeHershman</dc:creator>
      <dc:date>2021-12-12T08:16:16Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759690#M9499</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answers, but it's not exactly that.&amp;nbsp;&lt;BR /&gt;You'll find my code below to better understand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In&amp;nbsp;Xaml :&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;AppBarButton&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Margin&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;0,0,-15,0&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Command&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding ValiderTraceCommand}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Icon&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Accept&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Label&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Valider le tracé&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="style-attr language-css token"&gt;&lt;SPAN class="attr-name token"&gt;
              &lt;SPAN class="attr-name token"&gt;Style&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;="&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;StaticResource DefaultAppBarButtonStyle&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Visibility&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding ValiderTraceCommandIsVisible, Converter&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;{StaticResource BoolToVisibilityConverter}, Mode&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;OneWay}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; 
              &lt;SPAN class="attr-name token"&gt;Width&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;100&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;  
              &lt;SPAN class="attr-name token"&gt;FontSize&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;10&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;Border&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Grid.Column&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;1&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
        &lt;SPAN class="attr-name token"&gt;BorderBrush&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Gray&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
        &lt;SPAN class="attr-name token"&gt;BorderThickness&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;1,0,0,0&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
    &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="namespace token"&gt;esriControls:&lt;/SPAN&gt;MapView&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;&lt;SPAN class="namespace token"&gt;x:&lt;/SPAN&gt;Name&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;mapView&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
                          &lt;SPAN class="attr-name token"&gt;Map&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding Map}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Loaded&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;mapView_Loaded&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
        &amp;lt;interactivity:Interaction.Behaviors&amp;gt;
            &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="namespace token"&gt;core:&lt;/SPAN&gt;EventTriggerBehavior&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;EventName&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;GeoViewTapped&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
                &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="namespace token"&gt;core:&lt;/SPAN&gt;InvokeCommandAction&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Command&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding OnMapViewTappedCommand}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
            &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="namespace token"&gt;core:&lt;/SPAN&gt;EventTriggerBehavior&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
        &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;
    &lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="namespace token"&gt;esriControls:&lt;/SPAN&gt;MapView&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;Border&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In&amp;nbsp;View :&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;bool&lt;/SPAN&gt; ValiderTraceCommandIsVisible
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;get&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; ValiderTraceCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CanExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍

‍‍‍‍‍‍‍&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; RelayCommand ValiderTraceCommand
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;get&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; _validerTraceCommand &lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;_validerTraceCommand &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;RelayCommand&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;async&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;await&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;ValiderTrace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; CanValiderTrace&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;async&lt;/SPAN&gt; Task &lt;SPAN class="token function"&gt;ValiderTrace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CanExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Execute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; Boolean &lt;SPAN class="token function"&gt;CanValiderTrace&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CanExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; otherVariable&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; RelayCommand&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; OnMapViewTappedCommand
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;get&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; _onMapViewTappedCommand &lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt;
                       &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;_onMapViewTappedCommand &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;
                           &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;RelayCommand&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;async&lt;/SPAN&gt; mapView &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;await&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;OnMapViewTapped&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mapView&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;async&lt;/SPAN&gt; Task &lt;SPAN class="token function"&gt;OnMapViewTapped&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;object&lt;/SPAN&gt; mapViewInputEventArgs&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    ValiderTraceCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;RaiseCanExecuteChanged&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="token function"&gt;RaisePropertyChanged&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; ValiderTraceCommandIsVisible&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SketchEditor is initialized by :&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;Geometry g &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;await&lt;/SPAN&gt; MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;StartAsync&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;SketchCreationMode&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Polygon&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;true&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the problem, when I click on the map, OnMapViewTapped runs before drawing.&lt;/P&gt;&lt;P&gt;Therefore, during the third point creation, my test detect only two point. Always one point behind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I launch this test after the drawing ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:16:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759690#M9499</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2021-12-12T08:16:19Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759691#M9500</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not clear where this part is in your code, what triggers the SketchEditor to Start?&lt;/P&gt;&lt;PRE class="" style="color: #000000; background: #f5f2f0; border: 0px; margin: 0.5em 0px; padding: 1em 1em 1em 3.8em;"&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;Geometry g &lt;SPAN class="" style="color: #a67f59; background: rgba(255, 255, 255, 0.5); border: 0px; font-weight: inherit;"&gt;=&lt;/SPAN&gt; &lt;SPAN class="" style="color: #0077aa; border: 0px; font-weight: inherit;"&gt;await&lt;/SPAN&gt; MapView&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="" style="color: #d74444; border: 0px; font-weight: inherit;"&gt;StartAsync&lt;/SPAN&gt;&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;(&lt;/SPAN&gt;SketchCreationMode&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;.&lt;/SPAN&gt;Polygon&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;,&lt;/SPAN&gt; &lt;SPAN class="" style="color: #0077aa; border: 0px; font-weight: inherit;"&gt;true&lt;/SPAN&gt;&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="" style="color: #999999; border: 0px; font-weight: inherit;"&gt;;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the SketchEditor&amp;nbsp;you don't need to be handling GeoViewTapped.&amp;nbsp; It will move past the above line of code when the shape is complete.&amp;nbsp; Once it moves past the geometry is drawn on the MapView and the CompleteCommand.CanExecute will be true&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Mar 2020 16:53:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759691#M9500</guid>
      <dc:creator>JoeHershman</dc:creator>
      <dc:date>2020-03-05T16:53:49Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759692#M9501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, the line after the initialisation runs when the drawing is complete but I want to run drawing test before the end of the drawing.&amp;nbsp;That is why I use&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;GeoViewTapped.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to check that the drawing can be completed before it is complete.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Mar 2020 09:04:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759692#M9501</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-03-06T09:04:23Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759693#M9502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sorry&amp;nbsp; but I am missing something, I don't understand how a point would not be valid to complete the polygon and why one would want to confirm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CompleteCommand can only be executed when you have a geometry already.&amp;nbsp; It allows you to accept (finalize) that geometry.&amp;nbsp; As opposed to moving a vertex before finishing.&amp;nbsp; If you want the level of control you seem to desire and validate each point then you pretty much would need to just create your own editor and use the passed in point to draw a graphic on a graphics layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again, I may just not understand what you are really trying to accomplish and apologize if that is the case&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Mar 2020 14:45:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759693#M9502</guid>
      <dc:creator>JoeHershman</dc:creator>
      <dc:date>2020-03-06T14:45:27Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759694#M9503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, I d'on't see how explain.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a hidden button and I want to alter his visibility.&lt;/P&gt;&lt;P&gt;At begin, button are hidden.&lt;/P&gt;&lt;P&gt;Next, we start drawing.&lt;/P&gt;&lt;P&gt;When at least one point is drawn, I want the button to appear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The visibility depends on the drawing but also on another variable, so a "Binding" is not enough.&lt;/P&gt;&lt;P&gt;The real problem is the order of execution, when we clicked on the map, the&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;GeoViewTapped event runs before the new point of the drawing.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;Since I check the visibility in this event, I'm always one point behind. When I draw the 2nd point, my check only detects the first point. Same with more points.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Mar 2020 08:12:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759694#M9503</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-03-09T08:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759695#M9504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The ICommand interface should deal with automatically enabling/disabling the button, so if you don't want to hide the button this will work exactly like you want just by binding the Command to the button.&lt;/P&gt;&lt;P&gt;If you do want to hide the button, you would override the visual state of the button to instead collapse it, instead of disabling it. See:&amp;nbsp;&lt;A class="link-titled" href="https://stackoverflow.com/questions/3945026/how-to-hide-a-button-that-is-bound-to-a-command-that-cannot-execute" title="https://stackoverflow.com/questions/3945026/how-to-hide-a-button-that-is-bound-to-a-command-that-cannot-execute"&gt;wpf - how to hide a button that is bound to a command that cannot execute? - Stack Overflow&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Mar 2020 20:29:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759695#M9504</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2020-03-09T20:29:44Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759696#M9505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried your method but the order of runs don't change.&lt;/P&gt;&lt;P&gt;With breakpoint, I see the Icommand runs before drawing modify.&lt;/P&gt;&lt;P&gt;It's the same problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my updated code:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;AppBarButton&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Margin&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;0,0,-15,0&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Command&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding ValiderTraceCommand}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Icon&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Accept&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Label&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;Valider le tracé&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="style-attr language-css token"&gt;&lt;SPAN class="attr-name token"&gt;
              &lt;SPAN class="attr-name token"&gt;Style&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;="&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;StaticResource DefaultAppBarButtonStyle&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;
              &lt;SPAN class="attr-name token"&gt;Visibility&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;{Binding ValiderTraceCommandIsVisible, Converter&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;{StaticResource BoolToVisibilityConverter}, Mode&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;OneWay}&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;Width&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;100&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;  &lt;SPAN class="attr-name token"&gt;FontSize&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;10&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;public&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;bool&lt;/SPAN&gt; ValiderTraceCommandIsVisible
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;get&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; MapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;SketchEditor&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CompleteCommand&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CanExecute&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:16:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759696#M9505</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2021-12-12T08:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759697#M9506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think I'm at a point where I just don't understand what you're trying to achieve. I don't get what you mean by the order of commands. Commands don't execute until you press the button they are bound to. Perhaps there's just a misunderstanding of what these commands are used for. Also you don't have to use the commands, but can just execute methods on the SketchEditor yourself.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2020 15:45:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759697#M9506</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2020-03-10T15:45:55Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759698#M9507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When we clicked, they are many action that take in place. These actions are not launched simultaneously.&lt;/P&gt;&lt;P&gt;So there is an order of execution. This order is :&amp;nbsp;&lt;/P&gt;&lt;P&gt;- ICommand (Visibility)&lt;/P&gt;&lt;P&gt;-&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;GeoViewTapped&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;- &lt;SPAN&gt;The point is drawn&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The point is drawn after all the other actions. That's the problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2020 16:04:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759698#M9507</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-03-10T16:04:30Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759699#M9508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is this the code you have?&amp;nbsp;&lt;/P&gt;&lt;P&gt;- //Step 1&lt;/P&gt;&lt;P&gt;- Geometry g = await MapView.SketchEditor.StartAsync(SketchCreationMode.Point, true); //Async method&lt;/P&gt;&lt;P&gt;- MapView.SketchEditor.CompleteCommand.CanExecute(null); //Return false&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If so, the second line of code won't run until the draw has completed, because you're awaiting the&amp;nbsp;draw to complete. Remove the await&amp;nbsp;if that's what you want.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Task&amp;lt;Geometry&amp;gt; drawTask = MapView.SketchEditor.StartAsync(SketchCreationMode.Point, true);&amp;nbsp;&lt;BR /&gt;[...run other core... ]&lt;BR /&gt;Geometry g = await drawTask;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2020 16:40:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759699#M9508</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2020-03-10T16:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759700#M9509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, I understand my mistake,&amp;nbsp;I misspoke.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;EM&gt;SketchEditor.CompleteCommand.CanExecute&lt;/EM&gt; runs in an other method.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;When &lt;EM&gt;CanExecute&lt;/EM&gt; runs,&amp;nbsp;&lt;SPAN&gt;&lt;EM&gt;StartAsync&lt;/EM&gt; isn't finished.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;I want to detect when&amp;nbsp;&lt;EM&gt;CanExecute&amp;nbsp;&lt;/EM&gt;is true before the end of&amp;nbsp;&lt;EM&gt;StartAsync&lt;/EM&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2020 16:53:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759700#M9509</guid>
      <dc:creator>KilianBahuaud</dc:creator>
      <dc:date>2020-03-10T16:53:50Z</dc:date>
    </item>
    <item>
      <title>Re: How test my draw before drawing?</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759701#M9510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;I want to detect when&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px;"&gt;&lt;EM&gt;CanExecute&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;is true before the end of&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px;"&gt;&lt;EM&gt;StartAsync&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You'll need to listen to the &lt;SPAN style="border: 0px;"&gt;&lt;EM&gt;CompleteCommand.CanExecuteChanged&lt;/EM&gt;&lt;/SPAN&gt; event to be notified if the command's CanExecute has potentially changed, then call CanExecute(...) each time it fires to check the status.&lt;/P&gt;&lt;P&gt;Ie something along the lines of:&lt;/P&gt;&lt;P&gt;SketchEditor.CompleteCommand.CanExecuteChanged += (s,e) =&amp;gt; { if(&lt;SPAN&gt;SketchEditor.CompleteCommand.CanExecute(null)) { DoSomething(); }&lt;/SPAN&gt;&amp;nbsp;};&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff;"&gt;Geometry g = await MapView.SketchEditor.StartAsync(SketchCreationMode.Point, true);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm just now realizing you're drawing a point. Point geometry completes immediately when you click.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2020 19:03:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/how-test-my-draw-before-drawing/m-p/759701#M9510</guid>
      <dc:creator>dotMorten_esri</dc:creator>
      <dc:date>2020-03-10T19:03:59Z</dc:date>
    </item>
  </channel>
</rss>

