private void Initialise(NameValueCollection settings) { var editableCollection = new EditableKeyValueCollection( settings.SelectMany( key => settings.GetValues(key).Select( value => new EditableKeyValue() { Key = key, Value = value, }))); editableCollection.KeyValueChanged += delegate { OnChanged(EventArgs.Empty); }; editableCollection.CollectionChanged += delegate { OnChanged(EventArgs.Empty); }; EditableValues = editableCollection; AddEmptyItem(); }