2013-12-19 2 views
3

Существует случайная ошибка, как указано ниже, которая говорит что-то неправильно при настройке видимости SystemTray. Я установил видимость SystemTray false в xaml. Он случайно сбой приложения иногда и не всегда. Исключение брошено является System.ArgumentExceptionValue does not fall within the expected range.SetSysTrayVisible ошибка Windows Phone 8

StackTrace как ниже

Microsoft.Phone.Shell.Interop.NativeSystemTrayMethods.SetSysTrayVisible(IntPtr pSysTray, Boolean fVisible)  
Microsoft.Phone.Shell.Interop.NativeSystemTrayInteropWrapper.SetSystemTrayVisible(Boolean isVisible) 
Microsoft.Phone.Controls.PhoneApplicationPage.set_SystemTrayIsVisible(Boolean value) 
Microsoft.Phone.Controls.PhoneApplicationPage..ctor() 

Что может быть вероятной причиной этого? Любые обходные пути? Любые ссылки оцениваются.

+0

ознакомьтесь с любой другой страницей или создайте новую страницу, независимо от того, происходит это или нет. – asitis

+0

Нет, его случайный. Проверьте это http://social.msdn.microsoft.com/Форумы/wpapps/en-US/62ffbd7f-d7fa-4b68-ba65-cd4e851f0b6c/is-this-stack-trace-a-bug-in-wp8-systemtrayisvisibletrue? forum = wpdevelop –

+0

страница не найдена.! – asitis

ответ

0

Это не решение.

Мы видим такую ​​же ошибку в основном (90%) на устройствах WP8.0, и очень небольшой процент устройств WP8.1. Другие сообщения об ошибках по какой-либо причине не содержат версию ОС.

Вот что мы узнали с помощью расширенной технической поддержки от Microsoft.

Это проблема, связанная с тем, что был исправлен для WP8.1.

Я посмотрел на ошибку SetSystemTrayVisible, которую предлагает трассировка стека, и ее подтверждение должно быть исправлено в WP8.1.

Я не уверен, почему вы видите несколько примеров на 8.10.14234, но может быть второй, более редкий, проблема в этой области

К сожалению, нет ничего, что вы можете сделать в вашем код для предотвращения этого на WP8.0. Проблема возникает в инициализации корневой страницы, где она задает состояние системного лотка по умолчанию. Существует некорректная проверка безопасности в собственном взаимодействии, поэтому, если дескриптор инициализируется с плохим значением, возникает исключение. Охранник был установлен для WP8.1.

Вы должны иметь возможность обнаружить ошибку ... ожидать, что она вызовет обработчик Application_UnhandledException, из которого вы можете отобразить окно сообщения.

Таким образом, лучший способ справиться с этим исключением - это просто уловить его (обнаружить), а затем предложить пользователю обновить ОС до WP8.1. Я не уверен, насколько это возможно, потому что мы не смогли воспроизвести эту ошибку на наших устройствах или эмуляторах.

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

0

Убедитесь, что у вас есть все файлы .dll, загруженные в Visual Studio! также убедитесь, что вы написали строку весь путь к вершине page.xaml.cs

using Microsoft.Phone.Shell; 

на Я уже сделал это, и он работает как шарм для меня!

//Fullscreen mode. 
SystemTray.IsVisible = false; 

Привет! // Bachir Bouchemla