Ejemplo n.º 1
0
        void AssociatedObject_MouseMove(object sender, MouseEventArgs e)
        {
            ComponentView draggable = sender as ComponentView;

            // Get the current mouse position
            Point  mousePos = e.GetPosition(null);
            Vector diff     = startPoint - mousePos;

            if (isPressed && e.LeftButton == MouseButtonState.Pressed &&
                (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                 Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
            {
                ComponentViewModel compVM = this.AssociatedObject.DataContext as ComponentViewModel;

                if (compVM != null)
                {
                    compVM.DoDragDrop(mousePos.X, mousePos.Y);

                    // Initialize the drag & drop operation
                    DataObject dragData = new DataObject("myFormat", compVM);
                    DragDrop.DoDragDrop(draggable, dragData, DragDropEffects.Move);

                    isPressed = false;
                }
            }
        }
        public void CreateAllComponents(ComponentsRepository componentsRepository)
        {
            this.componentsRepository = componentsRepository;

            componentsList = new List <ComponentViewModel>();

            foreach (Component component in componentsRepository.Components)
            {
                ComponentViewModel compVM = new ComponentViewModel(component);
                compVM.ReportDragEvent += compVM_ReportDragEvent;

                componentsList.Add(compVM);
            }

            Components = new ObservableCollection <ComponentViewModel>(componentsList);
        }
        public void CreateAllComponents(ComponentsRepository componentsRepository)
        {
            this.componentsRepository = componentsRepository;

            componentsList = new List<ComponentViewModel>();

            foreach (Component component in componentsRepository.Components)
            {
                ComponentViewModel compVM = new ComponentViewModel(component);
                compVM.ReportDragEvent += compVM_ReportDragEvent;

                componentsList.Add(compVM);
            }

            Components = new ObservableCollection<ComponentViewModel>(componentsList);
        }