Containers Generation

The RadListView exposes several methods that can be overridden to customize the generated containers for the list view items and group headers.

Items

  • RadListViewItem GetContainerForItem(): Creates an empty container for list view item.
  • void PrepareContainerForItem(RadListViewItem item, object context): Prepares the RadListViewItem container. The base method sets the item Style, DataContext, Content and ContentTemplate.
  • void ClearContainerForItem(RadListViewItem item): Clears the RadListViewItem container. The base method clears the DataContext property.

Group Headers

  • ListViewGroupHeader GetContainerForGroupHeader(): Creates an empty container for list view group header.
  • void PrepareContainerForGroupHeader(ListViewGroupHeader groupHeader, GroupHeaderContext context): Prepares the ListViewGroupHeader container. The base method sets the header Style, DataContext and ContentTemplate.
  • void ClearContainerForGroupHeader(ListViewGroupHeader item): Clears the ListViewGroupHeader container. The base method clears the DataContext property.

Example

public class CustomListView : RadListView
{
    protected override RadListViewItem GetContainerForItem()
    {
        return new CustomListViewItem();
    }

    protected override void PrepareContainerForItem(RadListViewItem item, object context)
    {
        base.PrepareContainerForItem(item, context);
        (item as CustomListViewItem).IsPrepared = true;
    }

    protected override void ClearContainerForItem(RadListViewItem item)
    {
        base.ClearContainerForItem(item);
        (item as CustomListViewItem).IsPrepared = false;
    }
}

[Bindable]
public class CustomListViewItem : RadListViewItem
{
    public bool IsPrepared { get; set; }
}