Элементы управления на Pivot исчезают


111

У меня есть приложение с поворотным управлением. В сводном элементе управления есть два элемента (страницы), каждый из которых содержит файл grid. Сетки содержат несколько кнопок: одна - карта, а другая - текстовый блок. Когда приложение запускается в первый раз, сводная таблица работает должным образом. Однако по прошествии некоторого времени, например, дня, по прошествии некоторого времени, все элементы управления на повороте исчезают после поворота (или смахивания). Они появляются на мгновение при смахивании, но снова исчезают, когда точка поворота останавливается.

Кто-нибудь еще испытал это? В чем может быть причина и решение?

Видео: http://www.youtube.com/watch?v=nd7bfTJ53Nk

Код: https://github.com/JamieKitson/TrackLog/


4
У нас такая же проблема. Приложение с фоновой задачей и поворотом. Время от времени, не очень часто, мы сталкиваемся с этой проблемой. Мы нашли исключение в краш - журнал от наших клиентов, но не в нашем коде: CDirectManipulationPivot :: MoveToPosition, типа исключение: "c0000005" Стек: CDirectManipulationPivot :: MoveToPosition, CDirectManipulationPivot :: OnManipulationCompleted, ... CDirectManipulationServer :: ServerThreadStatic, RtlUserThreadStart
Михал Доброденка

1
Можете ли вы уточнить, как приложение и проблема зависят от фонового агента, который вы отключили в видео?
Алекс Сороколетов

1
Можете ли вы предоставить xaml для своего элемента управления Pivot и, возможно, какие-либо ошибки / исключения, отображаемые на консоли вывода?
Крис Лейва

@AlexSorokoletov Приложение и фоновый агент - это одно и то же, ошибка возникает только после того, как приложение работает в течение длительного времени, например, дня, поэтому это произойдет только (afaik) для задач с включенным фоном. В видео я убиваю фоновую задачу, чтобы заставить ее перезапустить, исправляя ошибку.
Джейми Китсон

Ответы:


1

Довольно старый вопрос, но до сих пор без ответа. Похоже, это из-за Application_Deactivatedобработчика событий, который запускается, когда приложение отправляется в фоновый режим:

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

В этом обработчике событий вы должны установить RunningInBackground = true

надеюсь, это поможет


0

Я столкнулся с той же проблемой, и она решена странным образом.

Если я использую сетку внутри PivotItem, эта проблема возникает, но когда я использую какой-либо другой элемент управления, например StackPanel или что-то еще, он работает нормально.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.