我點擊一個按鈕後,會觸發手機振動。這通常效果很好,除非有時振動不會停止,直到我完全關閉應用程序。我想給應用程序時間來完成它的振動,然後繼續其餘的方法,但我根本不想阻止UI。我怎麼可能做到這一點如何在不阻止用戶界面的情況下暫停
MainPage.xaml.cs中
void newButton_Click(object sender, EventArgs e)
{
//Button vibration
if (Settings.EnableVibration.Value) //boolean flag to tell whether to vibrate or not
{
VibrateController.Default.Start(TimeSpan.FromMilliseconds(100));
//place vibration stop here?
}
this.NavigationService.Navigate(new uri("/NewPage.xaml", UriKind.Relate));
}
我已經嘗試VibrationController.Default.Stop();但是這完全消除了震動。有沒有辦法等到振動完成之後再導航到新頁面,或者執行該方法應執行的其他操作?有關此實施或其他建議的任何建議或建議?
謝謝。如果實際上我不想導航到一個新頁面,但只是在發生振動時暫停。這是好的 'if(Settings.EnableVibration.Value)//布爾值標誌告訴是否振動 { VibrateController.Default.Start(TimeSpan.FromMilliseconds(40)); (45).ContinueWith(t => { VibrateController.Default.Stop(); }); }' VibrationController Start方法需要TimeSpan參數。 – Matthew
此外,將「延遲」設置爲比「開始」更長的時間,以確保振動在移至下一個過程之前完成? – Matthew
@Mthethew如果在振動停止後你不想做任何事情,那麼只需在時間間隔內傳遞,不要做任何事情;你完成了。如果你想在振動停止時做某些事情*正確*,那麼你需要確保延遲的時間少於你傳遞的時間,這樣你可以在明確停止時運行代碼。 – Servy