private void HandleInputCountChanged(IDiffSpread <int> sender) { if (_controlInputs.SliceCount > sender[0]) { while (_controlInputs.SliceCount > sender[0]) { _nameInputs.Last().Dispose(); _nameInputs.SliceCount--; _controlInputs.Last().Dispose(); _controlInputs.SliceCount--; } //_controlInputs.SliceCount = sender[0]; //_nameInputs.SliceCount = sender[0]; } else { var i = _nameInputs.SliceCount; _controlInputs.SliceCount = sender[0]; for (_nameInputs.SliceCount = sender[0]; i < sender[0]; i++) { _nameInputs[i] = IOFactory.CreateIOContainer <IDiffSpread <string> >(new InputAttribute("Name " + (i + 1)) { IsSingle = true, DefaultString = "Tab " + (i + 1), Order = i + 10 }); _controlInputs[i] = IOFactory.CreateIOContainer <IDiffSpread <Control> >(new InputAttribute("Control " + (i + 1)) { Order = i + 11 }); } } }