我正在“System.Runtime.InteropServices.COMException(0x80004005):未指定错误”,同时在两个用户控件之间严格切换。我正在使用Visual Studio 2013中的C#和XAML开发Windows Phone 8.1应用程序。 如果我的理解是正确的(来自互联网和论坛),当我们进行严格的导航时会发生在许多应用程序中,并且我无法获得相同的特定解决方案。 有没有办法捕获此异常并阻止应用程序崩溃。
答案 0 :(得分:1)
usercontrols
/ itemtemplate
中的ListView
GridView
吗?ItemClick
/ ListView
中的GridView
事件?ItemClick
活动中的其他页面?然后这可能对你有帮助......
而不是ItemClick
尝试使用来自usercontrol的根网格的Tapped事件。不知何故,ItemClick
事件在Windows Phone 8.1上被破坏,但在Windows 8.1上完美运行。
代码示例:
XAML
<GridView ItemClick="GridView_ItemClick">
<GridView.ItemTemplate>
<DataTemplate>
<usercontrols:MyUserControl/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
代码背后:
private void GridView_ItemClick(object sender, ItemClickEventArgs e)
{
// Your navigation code...
}
XAML
<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);
}
}
}