Kullanıcı, ekrana dokunduğunda bir ses çalan bu yönteme sahibim, & Kullanıcı tekrar ekrana dokunduğunda oynatmayı durdurmak istiyorum. Ama sorun "DoSomething()" metodu durmuyor, bitene kadar devam ediyor.basitçe async yöntemini durdurma
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;
}
Herhangi bir yardım için teşekkür ederiz.
Teşekkürler :)
deneyin ilan '' uçucu bool keepdoing = true olarak keepdoing'; 'Ama doingsomething' dönmek için çok uzun sürüyor' eğer kullanıcı ekranı iki kez bu şekilde yanlış olarak 'keepdoing' geçmek ve geri true basabilirsiniz. –
doingsomething uzun sürmez, ancak döngü nedeniyle, Dosomething() zaman alır. & Söylemek için üzgünüm, ama uçucu işe yaramadı. – Jaydeep
Uçucu sorun değil, çünkü beklemeden sonra kod her zaman UI iş parçacığına gönderilir ... onun bir eşitleme sorunu değil. –