private void ContentSelectorEditor_EditorCreating(object sender, ContentSelectorEditor.EditorCreateEventArgs e)
        {
            var switchExpr = e.PropertyDescriptor.Name;

            switch (switchExpr)
            {
            case var @case when @case == bParamPropName + Conversions.ToString(1):
                if (CbEditorBParam1 is object)
                {
                    e.Editor = CbEditorBParam1;
                }
                break;

            case var case1 when case1 == bParamPropName + Conversions.ToString(2):
                if (CbEditorBParam2 is object)
                {
                    e.Editor = CbEditorBParam2;
                }
                break;

            case var @case3 when @case3 == bParamPropName + Conversions.ToString(3):
                if (CbEditorBParam3 is object)
                {
                    e.Editor = CbEditorBParam3;
                }
                break;

            case var case4 when case4 == bParamPropName + Conversions.ToString(4):
                if (CbEditorBParam4 is object)
                {
                    e.Editor = CbEditorBParam4;
                }
                break;

            case var case2 when case2 == behaviorPropName:
            {
                if (CbEditorBehavAddr is object)
                {
                    e.Editor = CbEditorBehavAddr;
                }

                break;
            }
            }
        }
        private void ContentSelectorEditor_EditorCreated(object sender, ContentSelectorEditor.EditorCreateEventArgs e)
        {
            var switchExpr = e.PropertyDescriptor.Name.ToString();

            switch (switchExpr)
            {
            case var @case when @case == bParamPropName + Conversions.ToString(1):
            {
                if (CbEditorBParam1 != e.Editor)
                {
                    CbEditorBParam1                        = e.Editor;
                    CbEditorBParam1.ValueType              = TypeCode.Byte;
                    CbEditorBParam1.DisplayMember          = nameof(BehaviorInfo.BParamValue.ValueText);
                    CbEditorBParam1.ValueMember            = nameof(BehaviorInfo.BParamValue.Value);
                    CbEditorBParam1.DropDownColumns        = nameof(BehaviorInfo.BParamValue.ValueText) + "," + nameof(BehaviorInfo.BParamValue.Name);
                    CbEditorBParam1.DropDownColumnsHeaders = $"Value{Constants.vbNewLine}Name";
                    CbEditorBParam1.DropDownHeight         = 300;
                    CbEditorBParam1.DropDownWidth          = 200;
                }

                break;
            }

            case var case1 when case1 == bParamPropName + Conversions.ToString(2):
            {
                if (CbEditorBParam2 != e.Editor)
                {
                    CbEditorBParam2                        = e.Editor;
                    CbEditorBParam2.ValueType              = TypeCode.Byte;
                    CbEditorBParam2.DisplayMember          = nameof(BehaviorInfo.BParamValue.ValueText);
                    CbEditorBParam2.ValueMember            = nameof(BehaviorInfo.BParamValue.Value);
                    CbEditorBParam2.DropDownColumns        = nameof(BehaviorInfo.BParamValue.ValueText) + "," + nameof(BehaviorInfo.BParamValue.Name);
                    CbEditorBParam2.DropDownColumnsHeaders = $"Value{Constants.vbNewLine}Name";
                    CbEditorBParam2.DropDownHeight         = 300;
                    CbEditorBParam2.DropDownWidth          = 200;
                }

                break;
            }

            case var case3 when case3 == bParamPropName + Conversions.ToString(3):
            {
                if (CbEditorBParam3 != e.Editor)
                {
                    CbEditorBParam3                        = e.Editor;
                    CbEditorBParam3.ValueType              = TypeCode.Byte;
                    CbEditorBParam3.DisplayMember          = nameof(BehaviorInfo.BParamValue.ValueText);
                    CbEditorBParam3.ValueMember            = nameof(BehaviorInfo.BParamValue.Value);
                    CbEditorBParam3.DropDownColumns        = nameof(BehaviorInfo.BParamValue.ValueText) + "," + nameof(BehaviorInfo.BParamValue.Name);
                    CbEditorBParam3.DropDownColumnsHeaders = $"Value{Constants.vbNewLine}Name";
                    CbEditorBParam3.DropDownHeight         = 300;
                    CbEditorBParam3.DropDownWidth          = 200;
                }

                break;
            }

            case var case4 when case4 == bParamPropName + Conversions.ToString(4):
            {
                if (CbEditorBParam4 != e.Editor)
                {
                    CbEditorBParam4                        = e.Editor;
                    CbEditorBParam4.ValueType              = TypeCode.Byte;
                    CbEditorBParam4.DisplayMember          = nameof(BehaviorInfo.BParamValue.ValueText);
                    CbEditorBParam4.ValueMember            = nameof(BehaviorInfo.BParamValue.Value);
                    CbEditorBParam4.DropDownColumns        = nameof(BehaviorInfo.BParamValue.ValueText) + "," + nameof(BehaviorInfo.BParamValue.Name);
                    CbEditorBParam4.DropDownColumnsHeaders = $"Value{Constants.vbNewLine}Name";
                    CbEditorBParam4.DropDownHeight         = 300;
                    CbEditorBParam4.DropDownWidth          = 200;
                }

                break;
            }

            case var case2 when case2 == behaviorPropName:
            {
                if (CbEditorBehavAddr != e.Editor)
                {
                    CbEditorBehavAddr                        = e.Editor;
                    CbEditorBehavAddr.ValueType              = TypeCode.UInt32;
                    CbEditorBehavAddr.IntegerValueMode       = Math.Max(Settings.General.IntegerValueMode, 1);
                    CbEditorBehavAddr.DisplayMember          = nameof(BehaviorInfo.BehaviorAddressText);
                    CbEditorBehavAddr.ValueMember            = nameof(BehaviorInfo.BehaviorAddress);
                    CbEditorBehavAddr.DropDownColumns        = nameof(BehaviorInfo.BehaviorAddressText) + "," + nameof(BehaviorInfo.Name);
                    CbEditorBehavAddr.DropDownColumnsHeaders = $"Address{Constants.vbNewLine}Name";
                    CbEditorBehavAddr.DropDownHeight         = 400;
                    CbEditorBehavAddr.DropDownWidth          = 300;
                    CbEditorBehavAddr.DataSource             = myBehaviors;
                    // CbEditorBehavAddr.MultiColumnDisplayControl.Columns(0).AutoSize()
                    // LoadBehaviorAddressesList()
                }

                break;
            }
            }

            FlushEditorHandlers();
        }