[WP 8.1] WinRT (Windows Phone 8.1) 在 OnNavigatedTo 的一個詭異問題

Windows Phone 8.1 (Universal App) 在 OnNavigatedTo 的一個詭異問題

狀況是在上一個頁面點了一個 ListView 裡面的 Item 然後在 ItemClick 事件會呼叫 Navigate  到下一頁,在下一頁的 OnNavigatedTo 的 method 中,只要呼叫到需要 await 就會無預警的結束 app ,並且 Visual Studio Debugger 抓不到任何 exception

一開始懷疑是自己新寫的一個透過 reflection 產生 class 、塞值、執行 method 這樣的機制的問題,因為透過 reflection 會執行到需要 await 的 method,後來索性把那段 reflection 要做的事情直接用程式碼寫出來,我咧一樣掛!!!

一開始懷疑是 reflection 的問題時就已經花了不少時間在查資料,一直想… 今天晚上下班後,快到健身房時,才想說連正常寫法的 await 都會死掉會不會是 Navigate 出了問題。

果然… 下對了關鍵字就找到解答的曙光…

https://social.msdn.microsoft.com/forums/azure/en-US/6d1a6be3-096e-4090-a4bd-30d1293697b3/windows-phone-81-update-1-access-violation-when-navigating-using-tapped-event?forum=WindowsPhonePreviewSDK

健身完回家,立刻試看看改用 Dispatcher.RunAsync 去呼叫 Navigate 到下一頁,然後…

一切問題就解了 囧rz

一切問題就解了 囧rz

一切問題就解了 囧rz

◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣

這問題搞了我兩天阿~~~還我生命來~~~~

最恐怖的是,沒有人知道為什麼….就用下面這張圖來說明我的心情吧…