Les commandes sur Pivot disparaissent

111

J'ai une application avec un contrôle pivot. Le contrôle pivot a deux éléments (pages), tous deux contenant un fichier grid. Les grilles contiennent quelques boutons et l'un une carte et l'autre un bloc de texte. Lorsque l'application s'exécute pour la première fois, le pivot fonctionne comme prévu. Cependant, une fois que l'application a été exécutée un certain temps, comme un jour, toutes les commandes du pivot disparaissent après le pivotement (ou le glissement). Ils apparaissent momentanément en balayant, mais disparaissent à nouveau une fois le pivot reposé.

Quelqu'un d'autre a-t-il vécu cela? Quelle pourrait être la cause et la solution?

Vidéo: http://www.youtube.com/watch?v=nd7bfTJ53Nk

Code: https://github.com/JamieKitson/TrackLog/

Jamie Kitson
la source
4
Nous avons le meme probleme. Application avec tâche d'arrière-plan et pivot. De temps en temps, ce problème n'est pas très fréquent. Nous avons trouvé dans le journal exception de nos clients accident, mais pas dans notre code: CDirectManipulationPivot :: MoveToPosition, type d'exception: "c0000005" Stack: CDirectManipulationPivot :: MoveToPosition, CDirectManipulationPivot :: OnManipulationCompleted, ... CDirectManipulationServer :: ServerThreadStatic, RtlUserThreadStart
Michal Dobrodenka
1
Pouvez-vous expliquer comment l'application et le problème dépendent de l'agent d'arrière-plan que vous avez désactivé dans la vidéo?
Alex Sorokoletov
1
Pouvez-vous fournir le xaml pour votre contrôle Pivot et peut-être les erreurs / exceptions affichées sur la console de sortie?
Chris Leyva
@AlexSorokoletov L'application et l'agent d'arrière-plan sont une seule et même chose, le bogue ne se produit qu'après que l'application a fonctionné pendant une longue période, comme un jour, donc cela ne se produira (afaik) que pour les tâches activées en arrière-plan. Dans la vidéo, je tue la tâche d'arrière-plan pour la forcer à redémarrer, corrigeant le bogue.
Jamie Kitson
@AlexSorokoletov github.com/JamieKitson/TrackLog
Jamie Kitson

Réponses:

1

Question assez ancienne, mais toujours sans réponse. Il semble que ce soit à cause du Application_Deactivatedgestionnaire d'événements, qui s'exécute lorsque l'application est envoyée en arrière-plan:

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
     diagLog("Deactivated, reason: " + e.Reason);
}

Dans ce gestionnaire d'événements, vous devez définir RunningInBackground = true

J'espère que cela pourra aider

Umriyaev
la source
0

Je suis confronté au même problème, et il est résolu bizarrement.

Si j'utilise Grid dans PivotItem, ce problème survient, mais lorsque j'utilise un autre contrôle comme StackPanel ou quelque chose d'autre, cela fonctionne bien.

Rahul Sonone
la source