如何处理“;System.Runtime.InteropServices.COMException(0x80004005):未指定的错误”;。。。?

如何处理“;System.Runtime.InteropServices.COMException(0x80004005):未指定的错误”;。。。?,exception,windows-runtime,windows-phone-8.1,comexception,Exception,Windows Runtime,Windows Phone 8.1,Comexception,我在两个用户控件之间严格切换时遇到“System.Runtime.InteropServices.COMException(0x80004005):未指定错误”。我正在Visual Studio 2013中使用C#和XAML为Windows Phone 8.1开发应用程序。 如果我的理解是正确的(来自互联网和论坛),当我们进行严格的导航时,许多应用程序都会出现这种情况,而我无法为同样的问题找到具体的解决方案。 是否有方法捕获此异常并防止应用程序崩溃。 您是否在列表视图/网格视图中将用户控件作为项

我在两个用户控件之间严格切换时遇到“System.Runtime.InteropServices.COMException(0x80004005):未指定错误”。我正在Visual Studio 2013中使用C#和XAML为Windows Phone 8.1开发应用程序。 如果我的理解是正确的(来自互联网和论坛),当我们进行严格的导航时,许多应用程序都会出现这种情况,而我无法为同样的问题找到具体的解决方案。 是否有方法捕获此异常并防止应用程序崩溃。
  • 您是否在
    列表视图
    /
    网格视图中将
    用户控件
    作为
    项目模板
  • 是否在
    列表视图中使用
    项单击
    事件
  • 是否导航到
    项目单击事件中的另一页
那么这可能会帮助你

不要单击
item,而是尝试使用usercontrol根网格中的点击事件。不知何故,
ItemClick
事件在Windows Phone 8.1上被破坏,但在Windows 8.1上却能完美地工作

代码示例:

不要这样做: XAML

相反,请尝试以下方法: XAML

用户控制代码隐藏

private void ItemTapped(object sender, RoutedEventArgs e)
{
    // You navigation code
}
public sealed partial class MyUserControl : UserControl
{
    public event EventHandler OnTapped;

    public MyUserControl()
    {
        this.InitializeComponent();
    }

    private void RootGrid_Tapped(object sender, TappedRoutedEventArgs e)
    {
        if (OnTapped != null)
        {
            OnTapped(this, null);
        }
    }
}

我也面临同样的问题。当我连续点击组合框时,我的应用程序崩溃,然后随机崩溃。运气好吗?
<GridView>
    <GridView.ItemTemplate>
        <DataTemplate>
            <usercontrols:MyUserControl OnTapped="ItemTapped"/>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>
private void ItemTapped(object sender, RoutedEventArgs e)
{
    // You navigation code
}
public sealed partial class MyUserControl : UserControl
{
    public event EventHandler OnTapped;

    public MyUserControl()
    {
        this.InitializeComponent();
    }

    private void RootGrid_Tapped(object sender, TappedRoutedEventArgs e)
    {
        if (OnTapped != null)
        {
            OnTapped(this, null);
        }
    }
}