示例#1
0
        private void Reader_ChapterChanged(object sender, Chapter e)
        {
            string title = e.Title;

            ChapterTitleBlock.Text       = title;
            ChapterListView.SelectedItem = e;
            ChapterListView.ScrollIntoView(e, ScrollIntoViewAlignment.Leading);
        }
        private void SyncIndexCascadeViewSelection()
        {
            if (ViewModel.VolumeNo < 0 || ViewModel.ChapterNo < 0 || ViewModel.Index.Count <= ViewModel.VolumeNo || ViewModel.Index[ViewModel.VolumeNo].Count <= ViewModel.ChapterNo)
            {
                return;
            }
            var target    = ViewModel.Index[ViewModel.VolumeNo];
            var chpTarget = target[ViewModel.ChapterNo];

            if (ViewModel.HasNext)
            {
                var nextvm = ViewModel.Index[ViewModel.VolumeNo][ViewModel.ChapterNo + 1];
                nextvm.NotifyPropertyChanged("IsDownloaded");
            }
            if (VolumeListView.ActualHeight > 0 && VolumeListView.Items.Count > 0)
            {
                VolumeListView.SelectedItem = target;
                VolumeListView.UpdateLayout();
                VolumeListView.ScrollIntoView(target, ScrollIntoViewAlignment.Leading);
            }
            else
            {
                if (VolumeListView.GetValue(ListViewBaseScrollToItemRequestProperty) == null)
                {
                    VolumeListView.SetValue(ListViewBaseScrollToItemRequestProperty, target);
                    VolumeListView.SizeChanged += ListView_SizeChanged_ScrollToItem;
                }
                else
                {
                    VolumeListView.SetValue(ListViewBaseScrollToItemRequestProperty, target);
                }
            }

            if (ChapterListView.ActualHeight > 0 && ChapterListView.Items.Count > 0)
            {
                ChapterListView.SelectedItem = chpTarget;
                ChapterListView.UpdateLayout();
                ChapterListView.ScrollIntoView(chpTarget, ScrollIntoViewAlignment.Leading);
            }
            else
            {
                if (ChapterListView.GetValue(ListViewBaseScrollToItemRequestProperty) == null)
                {
                    ChapterListView.SetValue(ListViewBaseScrollToItemRequestProperty, chpTarget);
                    ChapterListView.SizeChanged += ListView_SizeChanged_ScrollToItem;
                }
                else
                {
                    ChapterListView.SetValue(ListViewBaseScrollToItemRequestProperty, chpTarget);
                }
            }
        }
 private void SyncIndexSelection()
 {
     if (!ViewModel.IsLoading)
     {
         if (VolumeListView.SelectedIndex != ViewModel.VolumeNo)
         {
             VolumeListView.SelectedIndex = ViewModel.VolumeNo;
         }
         if (ChapterListView.SelectedIndex != ViewModel.ChapterNo)
         {
             ChapterListView.SelectedIndex = ViewModel.ChapterNo;
         }
         VolumeListView.ScrollIntoView(VolumeListView.SelectedItem, ScrollIntoViewAlignment.Leading);
         ChapterListView.ScrollIntoView(ChapterListView.SelectedItem, ScrollIntoViewAlignment.Leading);
     }
 }