Ebben a bemutatóban megtudhatja, hogyan frissítheti az alkalmazást, ha hibaüzenetet szeretne megjeleníteni Nem kezelt kivétel megjelenik az alkalmazásban. A feladat bemutatja, hogyan kell kezelni a hibákat, valamint hogyan kell oldalakat felvenni az alkalmazásba és navigálni köztük. Ez a bejegyzés része a Windows Phone bemutatósorozatának.
1. Adjon hozzá egy új oldalt a projekthez. Ban ben Megoldás keresőkattintson a jobb gombbal a HelloPhone projekt opció, és hozzáad Új elem. Ban,-ben Új elem hozzáadása párbeszédablakban válassza ki Windows Phone portré oldal a megadott sablonok listájából állítsa be a nevet ErrorPage.xaml majd kattintson az OK gombra hozzáad.
2. In ErrorPage.xaml, keresse meg a LayoutRootRács elemet, és cserélje ki a gyermekvezérléseit a kékre kiemelt XAML jelöléssel. Ez az XAML definiálja az alkalmazás címét és az oldal címét, mindkettőt hibaként említik. Azt is meghatározza a TextBlock tárgy megjelölve x: Name =”ErrorText” amely a hibaüzenetet a jövőbeli kivételekről fogja tartalmazni.
… … ?> var13 ->
3. Nyomja meg a gombot F7 megnyithatja az új oldal kód-mögött álló fájlját, vagy kattintson a jobb gombbal ErrorPage.xaml ban ben Megoldás kereső és válasszuk ki Kód megtekintése. Ezután helyezze be a következő kódrészletet a ErrorPage osztály a kiemelt helyen. Ez létrehoz egy Kivétel objektum, amely a HirtTexthez kapcsolódik.
public partial class ErrorPage: PhoneApplicationPage { public ErrorPage() { InitializeComponent(); } public static Exception Exception; // Executes when the user navigates to this page. protected override void OnNavigatedTo(Microsoft.Phone.Navigation.PhoneNavigationEventArgs e) { ErrorText.Text = Exception.ToString(); } }
4. Ezután csatlakoztasson egy eseménykezelőt a hibaoldalra való navigáláshoz, és hibaüzenetet jelenítsen meg, amikor egy nem kezelt kivétel történik. Ban ben Megoldás kereső, Jobb klikk App.xaml és válasszuk ki Kód megtekintése megnyitni a kód-behind osztály a Alkalmazás osztály.
5. Keresse meg a Application_UnhandledException eseménykezelőt, és helyezze be a következő kódrészletet a kijelölt helyre közvetlenül a bezáró zárójel előtt. A Application_UnhandledException egy biztonsági háló, ahol az alkalmazás összes nem kezelt kivétele véget ér. Most csatlakoztatja a kivétel objektumot a ErrorPage.Exceptionobjektumot, és amikor a hibaoldalra böngész, akkor a kivétel objektum szöveges értékét veszi (Exception.ToString ();) és megjeleníti az oldalon. Ez nagyon hasznos lesz, ha elkezdi az alkalmazás hibakeresését egy valós eszközön.
// Code to execute on Unhandled Exceptions private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) { if (System.Diagnostics.Debugger.IsAttached) { // An unhandled exception has occurred, break in the debugger System.Diagnostics.Debugger.Break(); } e.Handled = true; ErrorPage.Exception = e.ExceptionObject; (RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = new Uri('/ErrorPage.xaml', UriKind.Relative); }