Beispiel #1
0
        private void UpdateList()
        {
            Items = new ObservableCollection <AddedTests>();
            try
            {
                Message mess = new Message();
                mess.Add("", mt);
                response = JsonConvert.DeserializeObject <Message>(server.SendMsg("GetTests", Data.ServiceSel, JsonConvert.SerializeObject(mess)));

                for (var i = 0; i < response.args.Count; i += 5)
                {
                    AddedTests test = new AddedTests();
                    test.ID     = response.args[i];
                    test.Name   = response.args[i + 1];
                    test.Author = response.args[i + 2];
                    Message message = new Message();
                    message.Add("", "", response.args[i]);
                    string request = JsonConvert.SerializeObject(message);
                    test.Kp   = response.args[i + 4];
                    test.Sort = response.args[i + 3];
                    Items.Add(test);
                }
            }
            catch { MessageBox.Show("Произошла ошибка! Обратитесь к поддержке!"); }
        }
Beispiel #2
0
        private void TestList_MouseMove(object sender, MouseEventArgs e)
        {
            if (flag == 1)
            {
                return;
            }
            // Get the current mouse position
            Point  mousePos = e.GetPosition(null);
            Vector diff     = startPoint - mousePos;

            if (e.LeftButton == MouseButtonState.Pressed &&
                (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                 Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
            {
                // Get the dragged ListViewItem
                ListView     listView     = sender as ListView;
                ListViewItem listViewItem = FindAnchestor <ListViewItem>((DependencyObject)e.OriginalSource);
                if (listViewItem == null)
                {
                    return;                                 // Abort
                }
                // Find the data behind the ListViewItem
                AddedTests item = (AddedTests)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
                if (item == null)
                {
                    return;                                 // Abort
                }
                // Initialize the drag & drop operation
                startIndex = List.SelectedIndex;
                DataObject dragData = new DataObject("tests", item);
                DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Copy | DragDropEffects.Move);
            }
        }
Beispiel #3
0
        private void TestList_Drop(object sender, DragEventArgs e)
        {
            int index = -1;

            if (e.Data.GetDataPresent("tests") && sender == e.Source)
            {
                // Get the drop ListViewItem destination
                ListView     listView     = sender as ListView;
                ListViewItem listViewItem = FindAnchestor <ListViewItem>((DependencyObject)e.OriginalSource);
                if (listViewItem == null)
                {
                    // Abort
                    e.Effects = DragDropEffects.None;
                    return;
                }
                // Find the data behind the ListViewItem
                AddedTests item = (AddedTests)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
                // Move item into observable collection
                // (this will be automatically reflected to TestList.ItemsSource)
                e.Effects = DragDropEffects.Move;
                index     = Items.IndexOf(item);
                if (startIndex >= 0 && index >= 0)
                {
                    Items.Move(startIndex, index);
                }

                Message ids = new Message();
                ids.Add(mt);
                for (int i = 0; i < Items.Count; i++)
                {
                    ids.Add(Items.ElementAt <AddedTests>(i).ID);
                }
                String request = JsonConvert.SerializeObject(ids);
                server.SendMsg("ChangePositionTests", Data.ServiceSel, request);
                startIndex = -1;
            }
        }