Os controles no Pivot desaparecem


111

Eu tenho um aplicativo com um controle dinâmico. O controle dinâmico possui dois itens (páginas), ambos contêm um grid. As grades contêm alguns botões e um um mapa e o outro um bloco de texto. Quando o aplicativo é executado pela primeira vez, o pivô funciona conforme o esperado. No entanto, depois que o aplicativo estiver em execução por algum tempo, como um dia, todos os controles no pivô desaparecem após girar (ou deslizar). Eles aparecem momentaneamente ao deslizar, mas desaparecem novamente quando o pivô é colocado.

Alguém mais experimentou isso? Qual poderia ser a causa e solução?

Vídeo: http://www.youtube.com/watch?v=nd7bfTJ53Nk

Código: https://github.com/JamieKitson/TrackLog/


4
Nós temos o mesmo problema. Aplicativo com tarefa em segundo plano e pivô. De vez em quando, não é muito comum ter esse problema. Encontramos exceção no log acidente de nossos clientes, mas não no nosso código: CDirectManipulationPivot :: moveToPosition, tipo de exceção: "c0000005" Stack: CDirectManipulationPivot :: moveToPosition, CDirectManipulationPivot :: OnManipulationCompleted, ... CDirectManipulationServer :: ServerThreadStatic, RtlUserThreadStart
Michal Dobrodenka

1
Você pode explicar como o aplicativo e o problema dependem do agente de fundo que você desativou no vídeo?
Alex Sorokoletov

1
Você pode fornecer o xaml para o controle Pivot e talvez quaisquer erros / exceções mostrados no console de saída?
Chris Leyva

@AlexSorokoletov O aplicativo e o agente em segundo plano são o mesmo, o bug só acontece depois que o aplicativo está em execução por um longo tempo, como um dia, então só acontecerá (afaik) para tarefas habilitadas em segundo plano. No vídeo, mato a tarefa em segundo plano para forçá-la a reiniciar, curando o bug.
Jamie Kitson

Respostas:


1

Uma pergunta bastante antiga, mas ainda sem resposta. Parece que é por causa do Application_Deactivatedmanipulador de eventos, que é executado quando o aplicativo é enviado para segundo plano:

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

Neste manipulador de eventos, você deve definir RunningInBackground = true

espero que ajude


0

Estou enfrentando o mesmo problema e está resolvido de forma estranha.

Se eu usar o Grid dentro do PivotItem, este problema ocorre, mas quando eu uso algum outro controle como StackPanel ou qualquer outra coisa, ele funciona bem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.