public void ScrollToLastItem(ListView lv) { lv.SelectedItem = lv.Items.GetItemAt(lv.Items.Count - 1); lv.ScrollIntoView(lv.SelectedItem); ListViewItem item = lv.ItemContainerGenerator.ContainerFromItem(lv.SelectedItem) as ListViewItem; if (item != null) { item.Focus(); } }
public void LoadChapter() { Task.Run(() => { int index = 0; Chapter actualChap = new Chapter(); Dispatcher.Invoke(() => { _notification.Visibility = true; index = _collectionView.CurrentPosition; actualChap = _collectionView.CurrentItem as Chapter; }); if (actualChap.Pages == null || actualChap.Pages.Count == 0) { var source = _sourceManager.GetSourceFromLink(actualChap.Link); var chap = new Chapter(); source.GetInfo(actualChap.Link, out chap); Dispatcher.Invoke(() => { _readerViewModel.ActualChapter = chap; }); } else { Dispatcher.Invoke(() => { _readerViewModel.ActualChapter = actualChap; }); } if (_readerViewModel.Hq.Chapters.Count > 1 && _readerViewModel.Hq.Chapters.Count < _readerViewModel.ActualChapterIndex) { var nextChap = new Chapter(); Dispatcher.Invoke(() => { nextChap = _readerViewModel.Hq.Chapters[index + 1] as Chapter; }); if (nextChap.Pages == null || nextChap.Pages.Count == 0) { var source = _sourceManager.GetSourceFromLink(nextChap.Link); var chap = new Chapter(); source.GetInfo(nextChap.Link, out chap); Dispatcher.Invoke(() => _readerViewModel.NextChapter = chap); } else { Dispatcher.Invoke(() => _readerViewModel.NextChapter = nextChap); } } Dispatcher.Invoke(() => { _readerView.SelectedIndex = _readerViewModel.ActualPage; _readerView.ScrollIntoView(_readerView.SelectedItem); _pageTitleView.PageTitle = _readerViewModel.ActualChapter.Title; _notification.Visibility = false; SaveChapter(); }); }); }
static void ScrollToPositionInView(WList control, ScrollViewer sv, object item, ScrollToPosition position, bool animated) { // Scroll immediately if possible if (!TryScrollToPositionInView(control, sv, item, position, animated)) { control.ScrollIntoView(item); control.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => { TryScrollToPositionInView(control, sv, item, position, animated); })); } }
private void ListView_ItemsChanged(ListView listView, ItemsChangedEventArgs e) { DebugHelper.AssertUIThread(); if ((listView != null) && (e != null)) { switch (e.Action) { case NotifyCollectionChangedAction.Add: if (MetadataViewContent.lastFocused == this) { int newIndex = listView.Items.Count - 1; listView.SelectedIndex = newIndex; listView.ScrollIntoView(listView.Items[newIndex]); this.setNextMetadatFocus = listView; } break; default: this.setNextMetadatFocus = null; break; } } }
void List_OnLoaded(object sender, RoutedEventArgs e) { list = (ListView) sender; list.ScrollIntoView(list.SelectedItem); }
/// <summary> /// This method will be called when the ListBox should /// be scrolled to the given index /// </summary> /// <param name="listBox">The ListBox which should be scrolled</param> /// <param name="index">The index of the item to which it should be scrolled</param> public static void OnAutoScrollToCurrentItem(ListView listBox, int index) { if (listBox != null && listBox.Items != null && listBox.Items.Count > index && index >= 0) listBox.ScrollIntoView(listBox.Items[index]); }
public void ScrollToLastItem(ListView lv) { lv.ScrollIntoView(lv.Items.GetItemAt(lv.Items.Count - 1)); }
private void ShowImage() { if ((currentIndex < 0) || (currentIndex >= elements.Count)) { return; } parentListView.SelectedItem = elements[currentIndex]; parentListView.ScrollIntoView(parentListView.SelectedItem); Title = elements[currentIndex].Name; MemoryStream ms = new MemoryStream(); (elements[currentIndex] as FileElement).SaveTo(ms); image.SnapsToDevicePixels = true; image.UseLayoutRounding = true; image.RenderTransform = new ScaleTransform(); Zoom = 1; //image.Source = img; //BitmapFrame bmp = null; bmp = null; try { ms.Position = 0; bmp = ImgConverter.StreamToBitmapImage(ms); image.Source = bmp; //bmp = BitmapFrame.Create(ms, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad); //ImageBehavior.SetAnimatedSource(image, bmp); //bmp = null; } catch { } ms.Dispose(); TextBlockStatus1.Text = "Image size: " + FormatingSize(elements[currentIndex].Size); TextBlockStatus2.Text = "Image resolution: " + bmp?.PixelWidth + " x " + bmp?.PixelHeight; TextBlockStatus3.Text = "DPI: X=" + (int?)bmp?.DpiX + " Y=" + (int?)bmp?.DpiY; TextBlockStatus4.Text = (currentIndex + 1).ToString() + @" / " + elements.Count.ToString(); try { if (((bmp.Width * (bmp.DpiX / 96)) > border.RenderSize.Width) || ((bmp.Height * (bmp.DpiY / 96)) > border.RenderSize.Height) || (border.Width == 0) || (bmp.DpiX == 0) || (bmp.DpiY == 0)) { image.Stretch = Stretch.Uniform; } else { image.Stretch = Stretch.None; image.RenderTransform = new ScaleTransform(bmp.DpiX / 96, bmp.DpiY / 96, bmp.Width / 2, bmp.Height / 2); } } catch { } GC.Collect(); }
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { System.Windows.Controls.ListView lbx = sender as System.Windows.Controls.ListView; lbx.ScrollIntoView(lbx.SelectedItem); }
private void AddTasks(Type[] taskTypes, ListView listView) { if (taskTypes == null) throw new ArgumentNullException("taskTypes"); if (listView == null) throw new ArgumentNullException("listView"); //if (Tasks.Any(t => t.GetType() == task.GetType())) //{ // var msg = "Multi".ValidateLicense(); // if (msg != null) // { // _logManager.Application.AddErrorLog(msg); // new MessageBoxBuilder() // .Text(LocalizedStrings.Str2903Params.Put(task.GetDisplayName())) // .Warning() // .Owner(this) // .Show(); // return; // } //} BusyIndicator.IsBusy = true; BusyIndicator.BusyContent = LocalizedStrings.Str2904Params.Put(taskTypes.First().GetDisplayName()); var tasks = new List<IHydraTask>(); Task.Factory .StartNew(() => { foreach (var type in taskTypes) { this.GuiSync(() => { BusyIndicator.BusyContent = LocalizedStrings.Str2904Params.Put(type.GetDisplayName()); }); var task = type.CreateInstance<IHydraTask>(); var settings = new HydraTaskSettings { Id = Guid.NewGuid(), WorkingFrom = TimeSpan.Zero, WorkingTo = TimeHelper.LessOneDay, IsDefault = true, TaskType = type.GetTypeName(false), }; _entityRegistry.TasksSettings.Add(settings); _entityRegistry.TasksSettings.DelayAction.WaitFlush(); InitTask(task, settings); var allSec = _entityRegistry.Securities.ReadById(Core.Extensions.AllSecurityId); task.Settings.Securities.Add(task.ToTaskSecurity(allSec)); task.Settings.Securities.DelayAction.WaitFlush(); tasks.Add(task); } }) .ContinueWithExceptionHandling(this, res => { BusyIndicator.IsBusy = false; if (!res) return; Tasks.AddRange(tasks); var last = tasks.LastOrDefault(); if (last != null) { NavigationBar.SelectedIndex = last.IsCategoryOf(TaskCategories.Tool) ? 1 : 0; listView.SelectedItem = last; listView.ScrollIntoView(last); foreach (var task in tasks) { var pane = EnsureTaskPane(task); if (pane != null) ShowPane(pane); //EditTask(newTask); } } }); }
/// <summary> /// This method will be called when the ListBox should /// be scrolled to the given index /// </summary> /// <param name="listView">The ListBox which should be scrolled</param> /// <param name="index">The index of the item to which it should be scrolled</param> public static void OnAutoScrollToCurrentItem(ListView listView) { listView.ScrollIntoView(listView.Items.CurrentItem); }
private void ListView1_SelectionChanged_1(object sender, SelectionChangedEventArgs e)//列表联动事件(所有) { App app = (App)App.Current; System.Windows.Controls.ListView lv = sender as System.Windows.Controls.ListView; lv.ScrollIntoView(lv.SelectedItem); if (lv.Name == listViewState && listViewState == "allListView") { //"allListView" if (allListView.SelectedIndex < 0) { return; } Target targetAll = app.returnBack.AllTargetList[allListView.SelectedIndex];//获取选中target的经纬度 nowTarget = targetAll; app.returnBack.SetSelectedTarget(nowTarget); for (int i = 0; i < alarmList.Count; i++) { if (nowTarget.ID == alarmList[i].ID) { alarmList[i].IsSelected = nowTarget.IsSelected; break; } } } else if (lv.Name == listViewState && listViewState == "AISListView") { if (AISListView.SelectedIndex < 0) { return; } Target targetAis = app.returnBack.AISTargetList[AISListView.SelectedIndex];//获取选中target的经纬度 nowTarget = targetAis; app.returnBack.SetSelectedTarget(nowTarget); for (int i = 0; i < alarmList.Count; i++) { if (nowTarget.ID == alarmList[i].ID) { alarmList[i].IsSelected = nowTarget.IsSelected; break; } } } else if (lv.Name == listViewState && listViewState == "radarListView") { if (radarListView.SelectedIndex < 0) { return; } Target targetRadar = app.returnBack.RadarTargetList[radarListView.SelectedIndex];//获取选中target的经纬度 nowTarget = targetRadar; app.returnBack.SetSelectedTarget(nowTarget); for (int i = 0; i < alarmList.Count; i++) { if (nowTarget.ID == alarmList[i].ID) { alarmList[i].IsSelected = nowTarget.IsSelected; break; } } } else if (lv.Name == listViewState && listViewState == "mixListView") { if (mixListView.SelectedIndex < 0) { return; } Target targetMix = app.returnBack.MergeTargetList[mixListView.SelectedIndex];//获取选中target的经纬度 nowTarget = targetMix; app.returnBack.SetSelectedTarget(nowTarget); for (int i = 0; i < alarmList.Count; i++) { if (nowTarget.ID == alarmList[i].ID) { alarmList[i].IsSelected = nowTarget.IsSelected; break; } } } }
/// <summary> /// 显示歌词 /// </summary> public void ShowLrc(int min, int sec,TextBox txtb1,ListView lrc1) { if (count >= maxCount || maxCount <= 0) return; int time = min * 60 + sec; string show; if (time < lrcTime[0]) { show = "歌名:" + ti + "演唱:" + ar + "专辑:" + al + "制作:" + by; txtb1.Text = show; } if (time == lrcTime[count]) { show = lrcText[lrcIndex[count++]]; lrc1.SelectedItem = show; lrc1.ScrollIntoView(lrc1.SelectedItem); txtb1.Text = show; } else if (time > lrcTime[count]) { int i2 = lrcTime.Count(); for (int i = count; i < i2 - 1; i++) { if (time <= lrcTime[i]) { count = i; break; } } } else if (count > 0 && time < lrcTime[count - 1]) { for (int i = 0; i < count - 1; i++) { if (time >= lrcTime[i]) { count = i; break; } } } }
/// <summary> /// /// </summary> /// <param name="listView"></param> private void ScrollToEnd(System.Windows.Controls.ListView listView) { listView.ScrollIntoView(listView.Items[listView.Items.Count - 1]); }