private async Task UpdateIncludedTeacher() { IncludedTeachers.Clear(); var filter = await GetFilteredTeacher(); if (filter != null) { foreach (var item in filter) { IncludedTeachers.Add(item); await Task.Delay(10); } } FBStatusCount = IncludedTeachers?.Count.ToString(); }
private void GaDTeacher_Drop(object sender, DragEventArgs e) { GridView grdView = sender as GridView; var deferal = e.GetDeferral(); Point posFromRoot = e.GetPosition(grdView.ItemsPanelRoot); int index = 0; var itemContainer = grdView.ContainerFromIndex(0) as GridViewItem; if (itemContainer != null) { Size itemSize = new Size( itemContainer.ActualWidth + itemContainer.Margin.Left + itemContainer.Margin.Right, itemContainer.ActualHeight + itemContainer.Margin.Top + itemContainer.Margin.Bottom); int xCount = (int)Math.Max(1, grdView.ItemsPanelRoot.ActualWidth / itemSize.Width); int yCount = (int)Math.Max(1, grdView.ItemsPanelRoot.ActualHeight / itemSize.Height); int indexX = (int)Math.Min(xCount, posFromRoot.X / itemSize.Width); int indexY = (int)Math.Min(yCount, posFromRoot.Y / itemSize.Height); index = Math.Min(grdView.Items.Count, indexY * xCount + indexX); } if (grdView.Name == "grdViewExcludedTeacher") { foreach (var item in DragOperationTemp) { CurrentBatch.ExcludeTeachers.Insert(index, item); IncludedTeachers.Remove(item); } } else { foreach (var item in DragOperationTemp) { CurrentBatch.ExcludeTeachers.Remove(item); IncludedTeachers.Insert(index, item); } } FBStatusCount = IncludedTeachers.Count.ToString(); }