Windows Phone 8:消息框已停止工作?

时间:2014-02-12 18:53:57

标签: c# windows-phone-8 messagebox

因此我正在使用动作api处理应用程序并通过事件句柄进行更新。问题是我无法显示消息框,我无法理解为什么。基本代码如下:

    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
            }


    }

3 个答案:

答案 0 :(得分:2)

好的,问题解决了!事实证明问题不是我的代码或如何设置vs它实际上是我的手机!我一直在测试我的1020,作为最后的手段,在重新安装vs2013之前我决定尝试另一个应用程序,我知道我的手机上有一个消息框!并注意到它没有出现一个简单的重启修复这个,我的代码开始工作!所以它看起来像WP中的一个错误,必须时不时发生!感谢大家的帮助,特别是Romasz

答案 1 :(得分:1)

尝试在页面的Loaded事件中使用Messagebox.Show(),而不是在构造函数中使用它。

答案 2 :(得分:1)

尝试使用以下代码。

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

在OnNavigatedTo()和MainPage()中使用的区别是:

  1. 代码将仅在MainPage(){}中运行一次。虽然你回到MainPage.xaml,代码将无法运行。
  2. 然而,OnNavigatedTo()中的代码将在您每次导航到MainPage.xaml时运行。