在下面的代码中,您可以看到我用来在发生摇晃事件时调用页面的代码。然而,页面弹出,但同时应用程序冻结,我不能做任何进一步的用户输入,例如单击一个按钮。
void accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
//double X, Y, Z;
if (e.X > 1.5)
{
Dispatcher.BeginInvoke( () => {
NavigationService.Navigate(new Uri("/Bars/DetailBar.xaml", UriKind.Relative));
} );
}
}调试器告诉我,有一个"NavigationFailed“和"System.NotSupportedException”。出什么问题了?
发布于 2011-05-27 03:35:00
读数可能发生得太快了,你导致了多个导航的发生。尝试取消订阅事件:
void accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
//double X, Y, Z;
if (e.X > 1.5)
{
accelerometer.ReadingChanged -= accelerometer_ReadingChanged;
Dispatcher.BeginInvoke( () => {
NavigationService.Navigate(new Uri("/Bars/DetailBar.xaml", UriKind.Relative));
});
}
}https://stackoverflow.com/questions/6143713
复制相似问题