加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从Accelerometer.ReadingChanged调用NavigationService.Na

发布时间:2020-12-16 01:44:15 所属栏目:百科 来源:网络整理
导读:在下面,您可以看到我在发生震动事件时用来调用页面的代码.但是,页面弹出,但在同一时刻应用程序冻结,我无法进行任何进一步的用户输入,例如单击按钮. void accelerometer_ReadingChanged(object sender,AccelerometerReadingEventArgs e){ //double X,Y,Z; if
在下面,您可以看到我在发生震动事件时用来调用页面的代码.但是,页面弹出,但在同一时刻应用程序冻结,我无法进行任何进一步的用户输入,例如单击按钮.

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”.出了什么问题?

解决方法

读数可能发生得太快,导致多次导航发生.尝试取消订阅活动:

void accelerometer_ReadingChanged(object sender,Z;
    if (e.X > 1.5)
    {
        accelerometer.ReadingChanged -= accelerometer_ReadingChanged;

        Dispatcher.BeginInvoke( () => {    
            NavigationService.Navigate(new Uri("/Bars/DetailBar.xaml",UriKind.Relative));
        }); 

    } 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读