【问题标题】:Windows Phone Toolkit in XNA/XAML hybrid project hangs applicationXNA/XAML 混合项目中的 Windows Phone Toolkit 挂起应用程序
【发布时间】:2013-03-12 19:27:37
【问题描述】:

在 XNA/XAML 混合项目中使用 Windows Phone Toolkit 中的任何控件会在某些情况下挂起应用程序:

  1. 创建“Windows Phone XAML 和 XNA 应用”项目

  2. 通过键入以下内容为 WP Toolkit 添加 Silverlight:

    Install-Package SilverlightToolkitWP -Version 4.2012.6.25
    

    在包管理器控制台中

  3. 在 MainPage.xaml 添加工具包命名空间:

    <phone:PhoneApplicationPage
    ...
    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
    ...>
    
  4. 从工具包中添加任何控件,例如。时间选择器:

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <!--Create a single button to navigate to the second page which is rendered with the XNA Framework-->
        <Button Height="100" Content="Change to game page" Click="Button_Click" />
        <toolkit:TimePicker />
    </Grid>
    
  5. 在 WP8 设备或 WP8 模拟器上运行应用(在 WP7 上不存在此问题)

  6. 点击“切换到游戏页面”按钮

  7. 锁定和解锁屏幕或切换到另一个应用程序然后返回。

  8. 点击返回按钮返回主页面

  9. 点击 TimePicker 并尝试更改时间。

  10. 应用程序未终止,但 UI 被阻止

我读到 WP8 以 100% 的兼容性运行 WP7 应用程序,但似乎这不是真的......

【问题讨论】:

  • 我发现我不需要使用工具包控件来重现这个bug。 Simple TextBox 也挂了应用程序。

标签: windows-phone-7 windows-phone-8


【解决方案1】:

我终于找到了这个错误的解决方案!它很容易修复,但很难发现。这是您必须在OnNavigatedFrom(NavigationEventArgs e) 方法中添加到游戏页面类的代码行。您必须添加此if 声明:

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    // Stop the timer
    timer.Stop();

    // Set the sharing mode of the graphics device to turn off XNA rendering
    if (e.IsNavigationInitiator)
        SharedGraphicsDeviceManager.Current.GraphicsDevice.SetSharingMode(false);
    base.OnNavigatedFrom(e);
}

【讨论】:

  • 我不再维护这个应用程序,但感谢您的回复。
  • 我还有 4 个应用程序在使用它。 :D Street 360、Snake、MC Skin Viewer 和 Minecreate。我很高兴他们现在工作正常。
【解决方案2】:

这不是 WP8 工具包的正确版本。目前你应该使用https://nuget.org/packages/WPtoolkit(2012年10月版,4.2012.10.30版)

【讨论】:

  • 不幸的是,这个版本的行为方式相同。
猜你喜欢
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多