Beispiel #1
0
        private void FileListView_Drop(object sender, DragEventArgs e)
        {
            /**
             * Checks if item has been droped from within the list or outside
             */
            if (startIndex < 0)
            {
                OuterFileDrop(sender, e);
                return;
            }

            if (e.Data.GetDataPresent("componentItem") && sender == e.Source)
            {
                ListView     listView     = sender as ListView;
                ListViewItem listViewItem = FindAnchestor.Find <ListViewItem>((DependencyObject)e.OriginalSource);
                if (listViewItem == null)
                {
                    startIndex = -1;
                    e.Effects  = DragDropEffects.None;
                    return;
                }

                var component = (IData)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
                //var source = (IData)FileListView.Items.GetItemAt(startIndex);
                startIndex = -1;
                //((ProjectViewModel)this.DataContext).OnDrop(source, component);
            }
        }
Beispiel #2
0
        private void TreeView_Drop(object sender, DragEventArgs e)
        {
            var index = -1;

            //if (startIndex < 0) return;

            if (e.Data.GetDataPresent("taskItem"))
            {
                //ListView listView = sender as ListView;
                TreeViewItem treeViewItem = FindAnchestor.Find <TreeViewItem>((DependencyObject)e.OriginalSource);
                if (treeViewItem == null)
                {
                    e.Effects = DragDropEffects.None;
                    return;
                }
                var item = ((ITask)projectTaskList.SelectedItem);
                startIndex = ((ProjectViewModel)DataContext).ProjectTasks.IndexOf(item);

                IElement component = (IElement)projectTaskList.ItemContainerGenerator.ItemFromContainer(treeViewItem);
                IElement source    = (IElement)projectTaskList.Items.GetItemAt(startIndex);
                e.Effects = DragDropEffects.Move;


                ((ProjectViewModel)DataContext).OnDropTask(source, component);

                startIndex = -1;
                index      = -1;
            }
            else
            {
                //Console.WriteLine("TreeView_Drop failed");
            }
        }
Beispiel #3
0
        private void FileListView_MouseMove(object sender, MouseEventArgs e)
        {
            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))
            {
                ListView     listView     = sender as ListView;
                ListViewItem listViewItem = FindAnchestor.Find <ListViewItem>((DependencyObject)e.OriginalSource);
                if (listViewItem == null)
                {
                    return;
                }
                IData component = (IData)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
                if (component == null)
                {
                    return;
                }

                //startIndex = FileListView.SelectedIndex;
                DataObject dragData = new DataObject("componentItem", component);
                DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Copy | DragDropEffects.Move);
            }
        }
Beispiel #4
0
        private void TreeView_MouseMove(object sender, MouseEventArgs e)
        {
            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))
            {
                //TreeView treeView = sender as TreeView;
                TreeViewItem treeviewItem = FindAnchestor.Find <TreeViewItem>((DependencyObject)e.OriginalSource);
                if (treeviewItem == null)
                {
                    return;
                }
                IElement component = (IElement)projectTaskList.ItemContainerGenerator.ItemFromContainer(treeviewItem);
                if (component == null)
                {
                    return;
                }

                //startIndex = FileListView.SelectedIndex;
                DataObject dragData = new DataObject("taskItem", component);
                DragDrop.DoDragDrop(treeviewItem, dragData, DragDropEffects.Copy | DragDropEffects.Move);
            }
            else
            {
                //Console.WriteLine("TreeView_MouseMove failed");
            }
        }