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;
}