משיב מוביל
navigate

שאלה
-
שלום
אני כותב אפליקציית מטרו ב win8 כאשר אני משתמש בתבניות הנתונות, בדף הראשי אני
טוען נתונים מהשרת מציג אותם ב gridView ולחיצה על אחת האייטמים מעביר אותי לדף הבא.
כאשר אני חוזר לדף הראשי אני הייתי רוצה להציג את הדף מבלי לבצע load מחדש לנתונים מכיוון
שזה לוקח מספר שניות, האם יש אפשרות שהדף הזה נשמר ב-stack של ה - frame ולא יהיה צורך לטעון
אותו שוב?
אני לא יכול לרשום this.NavigationCacheMode = NavigationCacheMode.Enabled לדף מכוון שהוא שומר את instance
ולכן אני לא יכול להציג אותו instance עם נתונים אחרים.
יום חמישי 22 נובמבר 2012 11:46
תשובות
-
הי,
ראשית, בכל דף יש אפשרות להבדיל בין ניווט ראשוני, לבין ניווט חזרה. את זה עושים בעזרת override למטודה OnNavigatedTo, יש בכל דף. שם תמצא בתוך הפרמטר NavigationEventArgs את התכונה NavigationMode. אם הערך המתקבל הו New אז הדף נטען לראשונה, אם Back אז חזרו אליו.
אני הייתי ממליץ לעבוד עם MVVM, כך שאתה תמיד עושה Cache ל- ViewModel שלך שטוען את הנתונים פעם אחת אסינכרוני. הדף מודיע ל- ViewModel מתי לטעון הכל מחדש או לא בהתאם לפרמטר שציינתי.
תומר
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- הוצע כתשובה על-ידי תומר שמםModerator יום שני 26 נובמבר 2012 08:42
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 19 דצמבר 2012 10:06
שבת 24 נובמבר 2012 09:00מנחה דיון
כל התגובות
-
האם ניסית לשמור רק את הנתונים מבלי להביא אותם שוב?
ניתן לשמור את הנתונים בעזרת ה-SuspensionManager.
יום שישי 23 נובמבר 2012 22:28 -
הי,
ראשית, בכל דף יש אפשרות להבדיל בין ניווט ראשוני, לבין ניווט חזרה. את זה עושים בעזרת override למטודה OnNavigatedTo, יש בכל דף. שם תמצא בתוך הפרמטר NavigationEventArgs את התכונה NavigationMode. אם הערך המתקבל הו New אז הדף נטען לראשונה, אם Back אז חזרו אליו.
אני הייתי ממליץ לעבוד עם MVVM, כך שאתה תמיד עושה Cache ל- ViewModel שלך שטוען את הנתונים פעם אחת אסינכרוני. הדף מודיע ל- ViewModel מתי לטעון הכל מחדש או לא בהתאם לפרמטר שציינתי.
תומר
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- הוצע כתשובה על-ידי תומר שמםModerator יום שני 26 נובמבר 2012 08:42
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 19 דצמבר 2012 10:06
שבת 24 נובמבר 2012 09:00מנחה דיון -
תודה רבה :-)יום שני 26 נובמבר 2012 08:37
-
האם שייך לחזור בהיסטורייה לא דווקא אחורה וקדימה. אלא לדף מסוים בהיסטוריה כך שלא יצטרך לרענן את הכל מחדש רק את ה-SuspensionManager וחבריו. סליחה שאני מתערב לאשכול.
יום רביעי 12 דצמבר 2012 22:48