skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadItemCollection

Represents a specialized collection that stores and manages RadItem objects with support for ownership relationships, change notifications, and hierarchical item management.

Inheritance
System.Object
System.Collections.CollectionBase
RadItemCollection
RadItemOwnerCollection
RadItemVirtualizationCollection
Inherited Members
System.Collections.CollectionBase.Clear()
System.Collections.CollectionBase.RemoveAt(System.Int32)
System.Collections.CollectionBase.System.Collections.ICollection.CopyTo(System.Array, System.Int32)
System.Collections.CollectionBase.System.Collections.IList.get_Item(System.Int32)
System.Collections.CollectionBase.System.Collections.IList.set_Item(System.Int32, System.Object)
System.Collections.CollectionBase.System.Collections.IList.Contains(System.Object)
System.Collections.CollectionBase.System.Collections.IList.Add(System.Object)
System.Collections.CollectionBase.System.Collections.IList.Remove(System.Object)
System.Collections.CollectionBase.System.Collections.IList.IndexOf(System.Object)
System.Collections.CollectionBase.System.Collections.IList.Insert(System.Int32, System.Object)
System.Collections.CollectionBase.OnInsert(System.Int32, System.Object)
System.Collections.CollectionBase.InnerList
System.Collections.CollectionBase.List
System.Collections.CollectionBase.Capacity
System.Collections.CollectionBase.Count
System.Collections.CollectionBase.System.Collections.IList.IsReadOnly
System.Collections.CollectionBase.System.Collections.IList.IsFixedSize
System.Collections.CollectionBase.System.Collections.ICollection.IsSynchronized
System.Collections.CollectionBase.System.Collections.ICollection.SyncRoot
System.Collections.CollectionBase.System.Collections.IList.Item[System.Int32]
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.WinControls
Assembly: Telerik.WinControls.dll

Syntax

public class RadItemCollection : CollectionBase, IList, ICollection, IEnumerable<RadItem>, IEnumerable
Remarks

RadItemCollection extends System.Collections.CollectionBase to provide comprehensive collection management specifically designed for RadItem objects within the Telerik WinControls framework. The collection automatically handles parent-child relationships, item lifecycle events, and ensures proper integration with the element tree structure.

The collection supports batch operations through notification suspension, change event handling, and maintains the integrity of item hierarchies. It provides strongly-typed access to items and implements proper change notifications for UI updates and layout recalculation.

Each collection is typically owned by a RadElement that acts as the logical parent for all items in the collection. The collection enforces proper ownership relationships and handles cascading operations such as theme application and property inheritance.

Constructors

RadItemCollection()

Initializes a new instance of the RadItemCollectionBase class.

Declaration
public RadItemCollection()

RadItemCollection(RadItem[])

Initializes a new instance of RadItemCollection containing any array of RadItem objects.

Declaration
public RadItemCollection(RadItem[] value)
Parameters
RadItem[] value

A array of RadItem objects with which to intialize the collection

RadItemCollection(RadItemCollection)

Initializes a new instance of RadItemCollection based on another RadItemCollection.

Declaration
public RadItemCollection(RadItemCollection value)
Parameters
RadItemCollection value

A RadItemCollection from which the contents are copied.

Properties

DefaultType

Declaration
public virtual Type DefaultType { get; set; }
Property Value
System.Type

ExcludedTypes

Gets or sets an array of the excluded items' types for this collection.

Declaration
public virtual Type[] ExcludedTypes { get; set; }
Property Value
System.Type[]

First

Declaration
public RadItem First { get; }
Property Value
RadItem

Item[Int32]

Represents the entry at the specified index of the RadItem.

Declaration
public virtual RadItem this[int index] { get; set; }
Parameters
System.Int32 index

The zero-based index of the entry to locate in the collection.

Property Value
RadItem

The entry at the specified index of the collection.

Exceptions
System.ArgumentOutOfRangeException

index is outside the valid range of indexes for the collection.

Item[String]

Gets the first found item, with Name property equal to itemName specified, case-sensitive.

Declaration
public virtual RadItem this[string itemName] { get; }
Parameters
System.String itemName

item Name

Property Value
RadItem

RadItem if found, null (Nothing in VB.NET) otherwise

ItemTypes

Gets or sets an array of the items' types in the collection.

Declaration
public virtual Type[] ItemTypes { get; set; }
Property Value
System.Type[]

Last

Declaration
public RadItem Last { get; }
Property Value
RadItem

SealedTypes

Gets or sets an array of the sealed items' types for this collection. That are types that are allowed but not their descendants.

Declaration
public virtual Type[] SealedTypes { get; set; }
Property Value
System.Type[]

Methods

Add(RadItem)

Adds a RadItem with the specified value to the Telerik.WinControls.RadItemCollection .

Declaration
public int Add(RadItem value)
Parameters
RadItem value

The RadItem to add.

Returns
System.Int32

The index at which the new element was inserted.

AddRange(RadItem[])

Copies the elements of an array to the end of the RadItemCollection.

Declaration
public void AddRange(params RadItem[] value)
Parameters
RadItem[] value

An array of type RadItem containing the objects to add to the collection.

AddRange(RadItemCollection)

Adds the contents of another RadItemCollection to the end of the collection.

Declaration
public void AddRange(RadItemCollection value)
Parameters
RadItemCollection value

A RadItemCollection containing the objects to add to the collection.

Contains(RadItem)

Gets a value indicating whether the RadItemCollection contains the specified RadItem.

Declaration
public bool Contains(RadItem value)
Parameters
RadItem value

The RadItem to locate.

Returns
System.Boolean

true if the RadItem is contained in the collection; otherwise, false.

CopyTo(RadItem[], Int32)

Copies the RadItemCollection values to a one-dimensional System.Array instance at the specified index.

Declaration
public void CopyTo(RadItem[] array, int index)
Parameters
RadItem[] array

The one-dimensional System.Array that is the destination of the values copied from RadItemCollection .

System.Int32 index

The index in array where copying begins.

Exceptions
System.ArgumentException

array is multidimensional.

-or-

The number of elements in the RadItemCollection is greater than the available space between index and the end of array.

System.ArgumentNullException

array is null.

System.ArgumentOutOfRangeException

index is less than array's lowbound.

GetEnumerator()

Returns an enumerator that can iterate through the RadItemCollection .

Declaration
public RadItemCollection.RadItemEnumerator GetEnumerator()
Returns
RadItemCollection.RadItemEnumerator

None.

IndexOf(RadItem)

Returns the index of a RadItem in the RadItemCollection .

Declaration
public int IndexOf(RadItem value)
Parameters
RadItem value

The RadItem to locate.

Returns
System.Int32

The index of the RadItem of value in the RadItemCollection, if found; otherwise, -1.

Insert(Int32, RadItem)

Inserts a RadItem into the RadItemCollection at the specified index.

Declaration
public void Insert(int index, RadItem value)
Parameters
System.Int32 index

The zero-based index where value should be inserted.

RadItem value

The RadItem to insert.

OnClear()

Declaration
protected override void OnClear()
Overrides
System.Collections.CollectionBase.OnClear()

OnClearComplete()

Declaration
protected override void OnClearComplete()
Overrides
System.Collections.CollectionBase.OnClearComplete()

OnInsertComplete(Int32, Object)

Declaration
protected override void OnInsertComplete(int index, object value)
Parameters
System.Int32 index

System.Object value

Overrides
System.Collections.CollectionBase.OnInsertComplete(System.Int32, System.Object)

OnItemsChanged(RadItem, ItemsChangeOperation)

Declaration
protected virtual void OnItemsChanged(RadItem target, ItemsChangeOperation operation)
Parameters
RadItem target

ItemsChangeOperation operation

OnRemove(Int32, Object)

Declaration
protected override void OnRemove(int index, object value)
Parameters
System.Int32 index

System.Object value

Overrides
System.Collections.CollectionBase.OnRemove(System.Int32, System.Object)

OnRemoveComplete(Int32, Object)

Declaration
protected override void OnRemoveComplete(int index, object value)
Parameters
System.Int32 index

System.Object value

Overrides
System.Collections.CollectionBase.OnRemoveComplete(System.Int32, System.Object)

OnSet(Int32, Object, Object)

Declaration
protected override void OnSet(int index, object oldValue, object newValue)
Parameters
System.Int32 index

System.Object oldValue

System.Object newValue

Overrides
System.Collections.CollectionBase.OnSet(System.Int32, System.Object, System.Object)

OnSetComplete(Int32, Object, Object)

Declaration
protected override void OnSetComplete(int index, object oldValue, object newValue)
Parameters
System.Int32 index

System.Object oldValue

System.Object newValue

Overrides
System.Collections.CollectionBase.OnSetComplete(System.Int32, System.Object, System.Object)

OnSort()

Declaration
protected virtual void OnSort()

OnSortComplete()

Declaration
protected virtual void OnSortComplete()

OnValidate(Object)

Declaration
protected override void OnValidate(object value)
Parameters
System.Object value

Overrides
System.Collections.CollectionBase.OnValidate(System.Object)

Remove(RadItem)

Removes a specific RadItem from the RadItemCollection .

Declaration
public void Remove(RadItem value)
Parameters
RadItem value

The RadItem to remove from the RadItemCollection .

Exceptions
System.ArgumentException

value is not found in the Collection.

ResumeNotifications()

Declaration
public void ResumeNotifications()

Sort()

Sorts the elements in the entire RadElementCollection using the IComparable implementation of each element.

Declaration
public void Sort()

Sort(IComparer)

Sorts the elements in the entire RadElementCollection using the specified comparer.

Declaration
public void Sort(IComparer comparer)
Parameters
System.Collections.IComparer comparer

The IComparer implementation to use when comparing elements.

Sort(Int32, Int32, IComparer)

Sorts the elements in a range of elements in RadElementCollection using the specified comparer.

Declaration
public void Sort(int index, int count, IComparer comparer)
Parameters
System.Int32 index

The zero-based starting index of the range to sort.

System.Int32 count

The length of the range to sort.

System.Collections.IComparer comparer

The IComparer implementation to use when comparing elements.

SuspendNotifications()

Declaration
public void SuspendNotifications()

ToArray()

Retrieves an array of the items in the collection.

Declaration
public RadItem[] ToArray()
Returns
RadItem[]

Events

ItemsChanged

Fires when item is changed.

Declaration
public event ItemChangedDelegate ItemsChanged
Event Type
ItemChangedDelegate

Explicit Interface Implementations

IEnumerable<RadItem>.GetEnumerator()

Declaration
IEnumerator<RadItem> IEnumerable<RadItem>.GetEnumerator()
Returns
System.Collections.Generic.IEnumerator<RadItem>

Implements
System.Collections.Generic.IEnumerable<T>.GetEnumerator()

Extension Methods

CommonExtensions.ContainsAny<T>(IEnumerable<T>, IEnumerable<T>)
CommonExtensions.ForEach<T>(IEnumerable<T>, Action<T>)
CommonExtensions.Clone<T>(IEnumerable<T>)
ExtensionMethodsEditor.CastCovariant<TFrom, TTo>(IEnumerable<TFrom>)
SvgExtentions.Traverse<T>(IEnumerable<T>, Func<T, IEnumerable<T>>)
SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(IEnumerable<T>, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.