ClassHierarchicalCollectionAdapter
This class wraps a hierarchical collection with observable collection, containing the flattened items, wrapped in HierarchicalItem. This collection doesn't track the source collection for changes.
Definition
Namespace:Telerik.Windows.Core
Assembly:Telerik.Windows.Scheduling.Core.dll
Syntax:
[SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public class HierarchicalCollectionAdapter : PropertyChangedBase, IList<HierarchicalItem>, ICollection<HierarchicalItem>, IEnumerable<HierarchicalItem>, IEnumerable, IDisposable, IHierarchicalCollectionAdapter<HierarchicalItem>, INotifyCollectionChanged, INotifyPropertyChanged, IEditableHierarchical
Inheritance: objectPropertyChangedBaseHierarchicalCollectionAdapter
Derived Classes:
Implements:
Inherited Members
Constructors
HierarchicalCollectionAdapter(IEnumerable, Func<HierarchicalItem, bool>)
Initializes a new instance of the HierarchicalCollectionAdapter class. It doesn't track the source hierarchical collection for changes.
Declaration
[SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public HierarchicalCollectionAdapter(IEnumerable hierarchicalItems, Func<HierarchicalItem, bool> shouldExpandedByDefault)
Parameters
hierarchicalItems
The hierarchical collection to be flattened.
shouldExpandedByDefault
Properties
this[int]
Declaration
public HierarchicalItem this[int index] { get; set; }
Parameters
index
Property Value
Implements
Methods
CreateWrapper(HierarchicalItem, object, int)
Declaration
protected virtual HierarchicalItem CreateWrapper(HierarchicalItem parent, object item, int sourceIndex)
Parameters
parent
item
sourceIndex
Returns
Dispose()
Declaration
public void Dispose()
Implements
Dispose(bool)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
disposing
GetChildren(object)
When overridden in the inherited class, this method returns all the children of the provided item.
Declaration
protected virtual IEnumerable GetChildren(object item)
Parameters
item
The item, which children are to be retrieved.
Returns
All the children of the provided item.
GetItemWrapperByItemKey(object)
Declaration
public HierarchicalItem GetItemWrapperByItemKey(object key)
Parameters
key
Returns
Implements
InitializeWrapper(HierarchicalItem, object)
When overridden in the inherited class, this method is used to perform additional initializations to the newly created wrapper. It is the best place to initialize the IsExpanded and CanExpand properties. This method is called when a new wrapper is initialized. In the base method only the SourceItem is set and an event handler is hooked to the PropertyChanged event to track changes in the IsExpanded property.
Declaration
protected virtual void InitializeWrapper(HierarchicalItem wrapper, object item)
Parameters
wrapper
The wrapper that was created for the item.
item
The item that have been wrapped.
OnCollectionChanged(NotifyCollectionChangedEventArgs)
Declaration
protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
Parameters
e
OnItemPropertyChanged(ItemPropertyChangedEventArgs<HierarchicalItem>)
Declaration
protected virtual void OnItemPropertyChanged(ItemPropertyChangedEventArgs<HierarchicalItem> e)
Parameters
e
ResetSource(IEnumerable)
Declaration
protected virtual void ResetSource(IEnumerable source)
Parameters
source
ShouldExpandByDefault(HierarchicalItem)
Declaration
protected bool ShouldExpandByDefault(HierarchicalItem item)
Parameters
item
Returns
TakeBetween(int, int)
Declaration
public IEnumerable<HierarchicalItem> TakeBetween(int startIndex, int endIndex)
Parameters
startIndex
endIndex
Returns
Implements
~HierarchicalCollectionAdapter()
Declaration
protected ~HierarchicalCollectionAdapter()
Events
CollectionChanged
Occurs when the collection changes.
Declaration
public event NotifyCollectionChangedEventHandler CollectionChanged
Event Value
Implements
ItemPropertyChanged
Declaration
public event EventHandler<ItemPropertyChangedEventArgs<HierarchicalItem>> ItemPropertyChanged
Event Value
EventHandler<ItemPropertyChangedEventArgs<HierarchicalItem>>