2013-12-19 99 views
3

下面提到了一個隨機錯誤,它在設置SystemTray可見性時說錯了什麼。我在xaml中將SystemTray可見性設置爲false。它有時會隨機崩潰應用程序,而不總是。拋出的異常是System.ArgumentExceptionValue does not fall within the expected range.SetSysTrayVisible bug Windows Phone 8

堆棧跟蹤是如下

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/Forums/wpapps/zh-CN/62ffbd7f-d7fa-4b68-ba65-cd4e851f0b6c/is-this-stack-trace-a-bug-in-wp8-systemtrayisvisibletrue?forum = wpdevelop –

+0

找不到頁面。 – asitis

回答

0

這不是任何方式的解決方案。

我們在WP8.0設備上看到大多數情況下(90%)出現相同的錯誤,並且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