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);
                }
            }
        }