public override void Execute(Dictionary <string, object> dic) { var sourceLibraries = dic["LibraryViewModel"] as SourceLibraryViewModel; var source = _sourceManager.GetSources()[sourceLibraries.SelectedSource]; if (dic.ContainsKey("VerticalOffset") && dic.ContainsKey("ScrollableHeight")) { var verticalOffset = Convert.ToInt32(dic["VerticalOffset"]); var scrollable = Convert.ToInt32(dic["ScrollableHeight"]); if (verticalOffset > 0 && (verticalOffset == scrollable)) { var currentPage = ControlsHelper.GetCurrentPage(); Task.Run(() => { var library = new List <Hq>(); source.NextLibraryPage(out library); currentPage.Dispatcher.Invoke(() => { foreach (var hq in library) { sourceLibraries.HqLibrary.Add(hq); } }); }); } } }