title: simply stop an async method
body: <p>I have this method which plays a sound, when the user taps on the screen, &amp; I want it to stop playing it when the user taps the screen again. But the problem is "DoSomething()" method doesn't stop, it keeps going till it finishes.</p>
  
  <pre><code>bool keepdoing = true;
  
  private async void ScreenTap(object sender, System.Windows.Input.GestureEventArgs e)
      {
          keepdoing = !keepdoing;
          if (!playing) { DoSomething(); }
      }
  
  private async void DoSomething() 
      {
          playing = true;
          for (int i = 0; keepdoing ; count++)
          {
              await doingsomething(text);
          }
          playing = false;
      }
  </code></pre>
  
  <p>Any help will be appreciated.<br>
  Thanks :)</p>