コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }