2014-02-12 6 views
0

그래서 모션 API를 사용하는 응용 프로그램에서 작업하고 이벤트 핸들을 통해 업데이트하십시오. 문제는 내가 메시지 상자를 표시하는 데 문제가 있고 그 이유를 이해할 수 없습니다. 아래의 기본 코드 :Windows Phone 8 : 메시지 상자가 작동하지 않습니까?

public MainPage() 
    { 
     InitializeComponent(); 
     MessageBox.Show("welcome"); //box not showing 
    } 

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 

      motion = new Motion(); 
      motion.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20); 
      motion.CurrentValueChanged += 
       new EventHandler<SensorReadingEventArgs<MotionReading>>   (motion_CurrentValueChanged); 

      motion.Start(); 

    } 


    void motion_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e) 
    { 
     Dispatcher.BeginInvoke(() => CurrentValueChanged(e.SensorReading)); 
    } 



    private void CurrentValueChanged(MotionReading e) 
    { 
      Thickness mar = characterMain.Margin; 

      txtblck1.Text = "Yaw " + e.Attitude.Yaw.ToString() + " Pitch " + e.Attitude.Pitch + " Roll " + e.Attitude.Roll; 

      mar.Left = hor + (e.Attitude.Roll * 200); 
      mar.Top = vert + (e.Attitude.Pitch * 200); 
      characterMain.Margin = mar; 

      bool col = engine1.CDetection_V1(characterMain.Margin.Left, characterMain.Margin.Top, characterMain.Width, characterMain.Height, BadGuy.Margin.Left, BadGuy.Margin.Top, BadGuy.Width, BadGuy.Height); 
      if (col == true) 
      { 
       MessageBox.Show("hit");//this doesnt 
       num.Text = "hit"; //this works 
      } 


    } 
+0

이 예를 확인할 수 있습니까? http://sdrv.ms/1c0rRXI? – Romasz

+0

이 코드를 내 코드에 추가했지만 테스트되었지만 여전히 운이 없다. 어쨌든 메이트 –

+0

예제를 수정하지 않고 실행 했으므로 MessageBox가 작동 했습니까? – Romasz

답변

2

그래 문제가 해결되었습니다. 그 문제는 내 코드가 아니 었거나 그것이 어떻게 설정 되었는가하는 것이 내 전화였습니다! 나는 내 1020에서 테스트를 해본 후 vs2013을 다시 설치하기 전에 최후의 수단으로 휴대 전화에 메시지 상자가 있다는 것을 알고있는 다른 앱을 사용하기로 결정했습니다. 그리고 그것은 간단한 재시작이 나타나지 않았고 코드가 작동하기 시작하는 것을 보지 못했습니다. 그래서 WP에서 버그가 생겨서 지금 당장 일어나야 만합니다! 도움을 주신 모든 분들께 감사드립니다. Romaz

1

에 한번 사용하여 Loaded 페이지의 이벤트 대신 생성자에서 사용에 Messagebox.Show() ..

+0

로드 중 ... 잘못 입력했습니다 ... – stackamar

1

다음 코드를 사용해보십시오. OnNavigatedTo()와 MainPage (에 사용 사이

protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     //Your logic 
     MessageBox.Show("Welcome"); 
    } 

차이)입니다 : 한 번만 MainPage에서

  1. 코드 것이다 실행() {}. MainPage.xaml로 돌아가더라도 코드는 실행되지 않습니다.
  2. 반면 OnNavigatedTo()의 코드는 MainPage.xaml로 이동할 때마다 실행됩니다.
+0

답장을 보내 주셔서 감사합니다. 그 비트는 문제가되는 주요 비트 메신저가 코드 하단에있는 비트 일뿐입니다. –