TUM.CMS.VplControl.Core.VplElement.VplElement C# (CSharp) Method

VplElement() protected method

Initializes a new instance of VplElement class.
protected VplElement ( VplControl hostCanvas ) : System
hostCanvas VplControl The host VplControl in which the VplElement will be rendered.
return System
        protected VplElement(VplControl hostCanvas)
        {
            HostCanvas = hostCanvas;
            // ----------------------------------------------------------------------------------------------------------------------
            // Border
            // ----------------------------------------------------------------------------------------------------------------------
            Border = new Border
            {
                Child = this,
                Style = FindResource("VplElementBorderStyle") as Style,
                Visibility = Visibility.Collapsed
            };

            DependencyPropertyDescriptor.FromProperty(IsSelectedProperty, typeof (VplElement))
                .AddValueChanged(this, OnSelectionChanged);

            HostCanvas.AddChildren(Border);


            // ----------------------------------------------------------------------------------------------------------------------
            // HitTestBorder
            // ----------------------------------------------------------------------------------------------------------------------
            HitTestBorder = new Border {Style = FindResource("HitTestBorderStyle") as Style};
            HitTestBorder.MouseEnter += HitTestBorder_MouseEnter;
            HitTestBorder.MouseLeave += HitTestBorder_MouseLeave;

            HitTestGrid = new Grid();

            HitTestGrid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(30)});
            HitTestGrid.ColumnDefinitions.Add(new ColumnDefinition());
            HitTestGrid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(30)});
            HitTestGrid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(30)});
            HitTestGrid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(30)});

            HitTestBorder.Child = HitTestGrid;

            HostCanvas.AddChildren(HitTestBorder);

            // ----------------------------------------------------------------------------------------------------------------------
            // Buttons
            // ----------------------------------------------------------------------------------------------------------------------
            if (GetType() == typeof (SelectionNode)) return;

            CaptionLabel = new NodeCaptionLabel(this);
            QuestButton = new NodeQuestionButton(this);
            ResizeButton = new NodePinButton(this);
            BinButton = new NodeBinButton(this);
            AutoCheckBox = new NodeAutoCheckBox(this);

            BinButton.Click += binButton_Click;

            BinButton.Visibility = Visibility.Collapsed;
            QuestButton.Visibility = Visibility.Collapsed;
            ResizeButton.Visibility = Visibility.Collapsed;
            AutoCheckBox.Visibility = Visibility.Collapsed;
        }