public override void Dispose()
        {
            if (null == _control)
            {
                throw new ObjectDisposedException(nameof(SelectableItemsNodeCustomization));
            }

            _control.SelectionListBox.SelectionChanged -= SelectionListBox_SelectionChanged;

            NodeModel.PortDisconnected -= Model_PortDisconnected;
            NodeModel.PortConnected    -= Model_PortConnected;

            _control = null;
        }
        public override void CustomizeView(LogReasonComposingNodeModel model, NodeView nodeView)
        {
            base.CustomizeView(model, nodeView);

            _control = new SelectableListControl();
            nodeView.inputGrid.Children.Add(_control);
            _control.DataContext = model;

            foreach (var flag in model.Selected)
            {
                _control.SelectionListBox.SelectedItems.Add(flag);
            }

            _control.SelectionListBox.SelectionChanged += SelectionListBox_SelectionChanged;
        }
        public override void CustomizeView(SelectableItemListNodeModel model, NodeView nodeView)
        {
            base.CustomizeView(model, nodeView);

            _control = new SelectableListControl();
            nodeView.inputGrid.Children.Add(_control);
            _control.DataContext = model;

            InitSelection(NodeModel.SelectedValue.Select(v => new AstObjectValue(v)));

            model.PortDisconnected += Model_PortDisconnected;
            model.PortConnected    += Model_PortConnected;

            _control.SelectionListBox.SelectionChanged += SelectionListBox_SelectionChanged;
        }
 public override void Dispose()
 {
     _control.SelectionListBox.SelectionChanged -= SelectionListBox_SelectionChanged;
     _control = null;
 }