Example #1
0
        /// <summary>
        /// Creates Node visual, Border with Textblock
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="canvas"></param>
        /// <param name="node"></param>
        /// <param name="nodeSelected"></param>
        /// <returns></returns>
        public Border CreateNode(double x, double y, Canvas canvas, NodeWithVisuals node, MouseButtonEventHandler nodeSelected)
        {
            string name      = node.label;
            byte   id        = node.id;
            int    size      = Definitions.Size;
            var    textBlock = new TextBlock
            {
                HorizontalAlignment = HorizontalAlignment.Center,
                Text     = name,
                FontSize = size / 5,
            };
            var border = new Border
            {
                Child        = textBlock,
                CornerRadius = new CornerRadius(50),
                //Margin =  new Thickness(10),
                Padding         = new Thickness(0, size / 3, 0, 0),
                BorderThickness = new Thickness(2),

                Width       = size,
                Height      = size,
                Background  = System.Windows.Media.Brushes.CornflowerBlue,
                BorderBrush = Brushes.Black,
                ToolTip     = name,
                Tag         = id
            };

            border.MouseLeftButtonDown += nodeSelected;
            canvas.Children.Add(border);
            Canvas.SetLeft(border, x);
            Canvas.SetTop(border, y);
            Panel.SetZIndex(border, 10);
            return(border);
        }