public ValueStyleItem(ValueStyle style) : base(style) { valueStyle = style; if (valueStyle != null) { foreach (var valueItem in valueStyle.ValueItems) { ValueSubItem valueStyleItem = new ValueSubItem(valueItem, valueStyle.ColumnName); Children.Add(valueStyleItem); } } }
protected override void UpdateStyleItemCore() { base.UpdateStyleItemCore(); if (valueStyle != null) { var deletedValueItems = Children.Where(i => !valueStyle.ValueItems.Any(c => c == i.ConcreteObject)).ToList(); foreach (var deletedValueItem in deletedValueItems) { if (Children.Contains(deletedValueItem)) { Children.Remove(deletedValueItem); } } var addedValueItems = valueStyle.ValueItems.Where(c => !Children.Any(i => i.ConcreteObject == c)).ToList(); foreach (var addedValueItem in addedValueItems) { StyleLayerListItem valueItem = new ValueSubItem(addedValueItem, valueStyle.ColumnName); Children.Add(valueItem); } } }