数据透视表的控件消失了

110

我有一个带有“枢轴控制”(pivot control)的应用程序。这个“枢轴控制”包含两个项目(页面),都包含一个grid。这些网格包含一些按钮,其中一个包含地图,另一个包含文本块。当应用程序首次运行时,“枢轴控制”正常工作。但是,当应用程序运行一段时间后,例如一天,所有“枢轴控制”上的控件在切换(或滑动)后都会消失。它们在滑动时短暂地出现,但一旦“枢轴控制”停止,它们就会再次消失。

是否还有其他人遇到过这个问题?可能的原因和解决方法是什么?

视频:http://www.youtube.com/watch?v=nd7bfTJ53Nk

代码:https://github.com/JamieKitson/TrackLog/


4
我们有同样的问题。涉及后台任务和数据透视表的应用程序。偶尔会出现问题,但不是很频繁。我们从客户的崩溃日志中发现了异常,但在我们的代码中没有发现异常:CDirectManipulationPivot :: MoveToPosition,异常类型为:“c0000005”,堆栈:CDirectManipulationPivot :: MoveToPosition,CDirectManipulationPivot :: OnManipulationCompleted,... CDirectManipulationServer :: ServerThreadStatic,RtlUserThreadStart。 - Michal Dobrodenka
1
你能详细说明一下在视频中禁用的后台代理程序如何影响应用程序和问题吗? - Alex Sorokoletov
1
你能提供 Pivot 控件的 XAML 代码以及输出控制台中显示的任何错误/异常吗? - Chris Leyva
@AlexSorokoletov 应用程序和后台代理是同一个东西,这个错误只会在应用程序运行了很长时间(比如一天)之后发生,所以它只会发生在启用后台任务的情况下(据我所知)。在视频中,我杀死了后台任务来强制重新启动,从而解决了这个问题。 - Jamie Kitson
@AlexSorokoletov https://github.com/JamieKitson/TrackLog/ - Jamie Kitson
显示剩余24条评论
2个回答

1
相当古老的问题,但仍然没有答案。看起来是由于Application_Deactivated事件处理程序,在应用程序被发送到后台时运行:
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
     diagLog("Deactivated, reason: " + e.Reason);
}

在这个事件处理程序中,您应该设置RunningInBackground = true 希望能对您有所帮助。

0

我有同样的问题,而且它的解决方式很奇怪。

如果我在PivotItem内使用Grid,就会出现这个问题,但是当我使用其他控件如StackPanel或其他控件时,它就可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接