public override void AddAdorner(AdornerLayer s) { if (s != null && m_Line != null) { Adorner ad = new LineAdorner(this.m_Line); s.Add(ad); } }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { //Adorner AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(ListGrid); LineAdorner Adorner = new LineAdorner(ListGrid, (FocusGridModel)this.DataContext); adornerLayer.Add(Adorner); setupInternalFoci(); }
public void Dropped() { if (_adorner == null) { return; } var adornerLayer = AdornerLayer.GetAdornerLayer(Control); adornerLayer.Remove(_adorner); _adorner = null; }
private void ControlDragEnter([NotNull] object sender, [NotNull] DragEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); if (!Control.AllowDrop) { return; } _adorner = new LineAdorner(Control); _adorner.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased); var adornerLayer = AdornerLayer.GetAdornerLayer(Control); adornerLayer.Add(_adorner); SetPosition(e); e.Handled = true; }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { //Adorner AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(ListGrid); LineAdorner Adorner = new LineAdorner(ListGrid, (FocusGridModel)DataContext); adornerLayer.Add(Adorner); setupInternalFoci(); Mouse.OverrideCursor = null; //Keydown Window MainWindow = Application.Current.Windows.OfType <Window>() .SingleOrDefault(x => x.IsActive); if (MainWindow == null) { return; } MainWindow.KeyDown += FocusGrid_OnKeyDown; MainWindow.KeyUp += FocusGrid_OnKeyUp; //Check Tutorial new ViewModelLocator().Tutorial.StartCommand.RaiseCanExecuteChanged(); }
public void AddAdorner(object sender, object followItem = null) { Drawer.Selector.FinishSelect(); if (sender is Line line) { var al = AdornerLayer.GetAdornerLayer(line); var adn = new LineAdorner(line); adn.Drawer = Drawer; adn.FollowItem = followItem; al?.Add(adn); Drawer.DrawTool = Tool.MoveResize; } else { var al = AdornerLayer.GetAdornerLayer((UIElement)sender); var adn = new ResizingAdorner((UIElement)sender); adn.Drawer = Drawer; al?.Add(adn); Drawer.DrawTool = Tool.MoveResize; } }
private void DragEnter([NotNull] object sender, [NotNull] DragEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); if (!ListView.AllowDrop) { return; } if (Line == null) { Line = new LineAdorner(ListView); Line.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased); var adornerLayer = AdornerLayer.GetAdornerLayer(ListView); if (adornerLayer != null) { adornerLayer.Add(Line); } } UpdatePosition(e); }
private static void ItemsControl_PreviewMouseMove(object sender, System.Windows.Input.MouseEventArgs e) { if (sender is ItemsControl itemsControl) { DragStatusEnum dragStatus = GetDragStatus(itemsControl); switch (dragStatus) { case DragStatusEnum.None: break; case DragStatusEnum.Begining: { if (e.LeftButton == System.Windows.Input.MouseButtonState.Pressed) { Vector vector = e.GetPosition(itemsControl) - mouseDownPoint; if (vector.X > dragBeginedOffset || vector.Y > dragBeginedOffset) { SetDragStatus(itemsControl, DragStatusEnum.Draging); if (dragInfo.ItemContainer is FrameworkElement frameworkElement) { frameworkElement.CaptureMouse(); if (dragAdorner != null) { dragAdorner.Detath(); } Point offset = e.GetPosition(frameworkElement); dragAdorner = new DragAdorner(itemsControl, frameworkElement, new Point() { X = -offset.X, Y = -offset.Y }); } } } } break; case DragStatusEnum.Draging: { if (e.LeftButton == System.Windows.Input.MouseButtonState.Pressed) { if (dragAdorner != null) { dragAdorner.UpdatePoint(e.GetPosition(itemsControl)); } if (GetItem(itemsControl.ItemContainerGenerator, itemsControl.InputHitTest(e.GetPosition(itemsControl)), out DependencyObject itemContainer, out object item)) { if (/*itemContainer != dragInfo.ItemContainer && */ itemContainer is FrameworkElement frameworkElement) { if (lineAdorner == null) { lineAdorner = new LineAdorner(itemsControl); lineAdorner.UpdateBrush(GetDropTargetLineBrush(itemsControl), GetDropTargetLineThickness(itemsControl)); lineAdorner.UpdateTarget(e.MouseDevice, frameworkElement, GetItemPanelOrientation(itemsControl)); } else { lineAdorner.UpdateTarget(e.MouseDevice, frameworkElement, GetItemPanelOrientation(itemsControl)); } } } else { if (lineAdorner != null) { lineAdorner.ClearTarget(); } } e.Handled = true; } } break;
private void workSpace_PreviewMouseLeftButtonUp_1(object sender, MouseButtonEventArgs e) { var adornerLayer = AdornerLayer.GetAdornerLayer(workSpace); if (_draggingConnectionLineAdorner != null) { adornerLayer.Remove(_draggingConnectionLineAdorner); _draggingConnectionLineAdorner = null; //workSpace.ReleaseMouseCapture(); ViewModel.PinViewModel.CancelConnect(); e.Handled = true; } }
private void Pin_PreviewMouseLeftButtonDown_1(object sender, MouseButtonEventArgs e) { var pin = ((FrameworkElement)sender).DataContext as ViewModel.PinViewModel; pin.BeginConnect(); var adornerLayer = AdornerLayer.GetAdornerLayer(workSpace); if( _draggingConnectionLineAdorner != null ) { adornerLayer.Remove(_draggingConnectionLineAdorner); } var pos = e.GetPosition(workSpace); _draggingConnectionLineAdorner = new LineAdorner(workSpace) { From = pos, To = pos }; adornerLayer.Add(_draggingConnectionLineAdorner); //workSpace.CaptureMouse(); e.Handled = true; }
private void PinEllipse_PreviewMouseLeftButtonUp_1(object sender, MouseButtonEventArgs e) { var adornerLayer = AdornerLayer.GetAdornerLayer(workSpace); if (_draggingConnectionLineAdorner != null) { adornerLayer.Remove(_draggingConnectionLineAdorner); _draggingConnectionLineAdorner = null; //workSpace.ReleaseMouseCapture(); var pin = ((FrameworkElement)sender).DataContext as ViewModel.PinViewModel; try { pin.EndConnect(); } catch (Exception ex) { MessageBox.Show(ex.Message); } UpdateWorkspaceViewModel(); e.Handled = true; } }