/// <summary>
 ///     Removes the selected item from the selector's collection.
 /// </summary>
 public virtual void RemoveSelected()
 {
     if (SelectedIndex >= 0 && SelectedIndex < ItemsCore.Count)
     {
         ItemsCore.RemoveAt(SelectedIndex);
     }
 }
        /// <summary>
        ///     Removes the first occurrence of a specific object from the
        ///     <see cref="T:System.Collections.Generic.ICollection`1" />.
        /// </summary>
        /// <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        /// <returns>
        ///     true if <paramref name="item" /> was successfully removed from the
        ///     <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if
        ///     <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
        /// </returns>
        public virtual bool Remove(T item)
        {
            var index = ItemsCore.IndexOf(item);

            if (index < 0)
            {
                return(false);
            }
            ItemsCore.RemoveAt(index);
            return(true);
        }
 /// <summary>
 ///     Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
 /// </summary>
 /// <param name="index">The zero-based index of the item to remove.</param>
 public virtual void RemoveAt(int index)
 {
     ItemsCore.RemoveAt(index);
 }