private void El_PreviewMouseMove(object sender, MouseEventArgs e)
        {
            ElementControl element = sender as ElementControl;

            if (!(sender is ElementControl) || !element.IsSelected || !element.IsDrag)
            {
                return;
            }
            element.SetLocation(e.GetPosition(EditorCanvas));
            foreach (Connection connection in GraphClass.Connections
                     .Where(c => c.Start.Id == element.Element.Id || c.Finish.Id == element.Element.Id).ToList())
            {
                connection.CalculatePoints();
            }
        }
Пример #2
0
        /// <summary>
        /// Создание нового элемента
        /// </summary>
        /// <returns></returns>
        public static ElementControl CreateElementControl(ElementClass element, RoutedEventHandler menuHandler)
        {
            ElementControl el = new ElementControl();

            Panel.SetZIndex(el, ElementZIndex++);
            el.Element = element;
            el.UpdateView();
            el.SetLocation(element.Location);
            MenuItem connectionMenuItem = new MenuItem()
            {
                Header = "_Соединить элемент"
            };

            connectionMenuItem.Click += menuHandler;
            el.MainGrid.ContextMenu?.Items.Insert(2, connectionMenuItem);
            Elements.Add(el);
            return(el);
        }