/// <summary>
        /// Связывание элементов
        /// </summary>
        void SetConnection()
        {
            string elID = GraphClass.GetIdElementSource();

            if (elID == null)
            {
                _connectionMode = false;
                return;
            }
            //var el = GraphClass.Elements.FirstOrDefault(c => c.Element.Id == Guid.Parse(elID));

            var el = SaverClass.Elements.First(c => c.Id == Guid.Parse(elID));

            if (el.InElements.Count >= el.InCount)
            {
                MessageBox.Show("У данного элемента задействованы все входы!");
                _connectionMode = false;
                return;
            }

            if (el.InElements.Contains(_idSource))
            {
                MessageBox.Show("Данные элементы уже связаны!");
                _connectionMode = false;
                return;
            }

            SaverClass.Elements.First(c => c.Id == el.Id).InElements.Add(_idSource);
            Connection connection = new Connection()
            {
                Start  = SaverClass.Elements.First(c => c.Id == _idSource),
                Finish = el
            };

            Panel.SetZIndex(connection.Line, GraphClass.ConnectionZIndex++);
            connection.CalculatePoints();
            EditorCanvas.Children.Add(connection.Line);
            GraphClass.Connections.Add(connection);
            _connectionMode = false;
        }
 private void ConntectionMenuItem_Click(object sender, RoutedEventArgs e)
 {
     _connectionMode = true;
     _idSource       = Guid.Parse(GraphClass.GetIdElementSource());
 }