protected override void UpdateItemsList()
 {
     _items.Clear();
     if (_setting != null)
     {
         SingleSelectionColoredList ssl = (SingleSelectionColoredList)_setting;
         int current = 0;
         _selectedIndex   = ssl.Selected;
         IsSelectionValid = _selectedIndex >= 0;
         foreach (ColoredSelectionItem item in ssl.Items)
         {
             ListItem listItem = new ListItem(KEY_NAME, item.ResourceString)
             {
                 Selected = (current == _selectedIndex)
             };
             if (item.BackgroundColor != Color.Empty)
             {
                 listItem.SetLabel(KEY_COLOR, Common.Localization.LocalizationHelper.CreateStaticString(ColorTranslator.ToHtml(item.BackgroundColor)));
             }
             else
             {
                 listItem.SetLabel(KEY_COLOR, Common.Localization.LocalizationHelper.CreateStaticString(""));
             }
             listItem.SelectedProperty.Attach(OnSelectionChanged);
             _items.Add(listItem);
             current++;
         }
     }
     _items.FireChange();
 }
        protected override void UpdateSetting()
        {
            SingleSelectionColoredList ssl = (SingleSelectionColoredList)_setting;

            ssl.Selected = _selectedIndex;
            base.UpdateSetting();
        }
        protected override void SettingChanged()
        {
            SingleSelectionColoredList ssl = (SingleSelectionColoredList)_setting;

            _selectedIndex   = ssl.Selected;
            IsSelectionValid = _selectedIndex >= 0;
            base.SettingChanged();
        }