private Mark GetMark() { //todo: {WT}, change the way of marks, record marks in DB Mark result = null; IsolatedStorageSettings.ApplicationSettings.TryGetValue<Mark>("marks", out result); if (result == null) { result = new Mark(); } return result; }
private void LoadMarks() { mlist.Items.Clear(); this.mark = GetMark(); foreach (var mark in this.mark.Marks) { ChapterMark tmp = mark; BookmarkItem item = new BookmarkItem(); item.DataContext = tmp; item.Click += (sender, ex) => { Progress progress = null; IsolatedStorageSettings.ApplicationSettings.TryGetValue<Progress>("current", out progress); if (progress == null) { progress = new Progress(); } progress.Chapter = tmp.ChapterNo; progress.Page = tmp.Current; progress.Percent = tmp.Percent; IsolatedStorageSettings.ApplicationSettings["current"] = progress; Dispatcher.BeginInvoke(() => { (Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/View/Viewer.xaml", UriKind.Relative)); }); }; this.mlist.Items.Add(item); } }