In This Article

TreeListBox Class

Represents an advanced single-column tree view control.

[TemplatePart(Name = "PART_ScrollViewer", Type = typeof(ScrollViewer))]
public class TreeListBox : ItemsControl
Inheritance:
object Visual UIElement FrameworkElement Control ItemsControl object
Derived:
TreeListView ShellTreeListBox

Constructors

TreeListBox()

Initializes an instance of the class.

public TreeListBox()

Properties

AssemblyInfo

The UIAssemblyInfoBase to use.

[Browsable(false)]
protected virtual UIAssemblyInfoBase? AssemblyInfo { get; }

Property Value

UIAssemblyInfoBase

AutoExpandItemsOnFilter

Indicates whether to auto-expand to items that are included by a filter when IsFilterActive is true.

public bool AutoExpandItemsOnFilter { get; set; }

Property Value

bool:

true if items that are included by a filter will be made visible; otherwise, false. The default value is false.

CanDragItems

Indicates whether to allow dragging of selected items.

public bool CanDragItems { get; set; }

Property Value

bool:

true if dragging of selected items is allowed; otherwise, false.

CanExpandAll

Indicates whether any expand all operations can occur.

protected virtual bool CanExpandAll { get; }

Property Value

bool:

true if any expand all operations can occur; otherwise, false. The default value is true.

CanSelectItemOnFocus

Indicates whether an item is selected when it receives focus.

public bool CanSelectItemOnFocus { get; set; }

Property Value

bool:

true if an item is selected when it receives focus; otherwise, false. The default value is false.

DataFilter

The IDataFilter to use when IsFilterActive is true.

public IDataFilter? DataFilter { get; set; }

Property Value

IDataFilter

EmptyContent

The content to display when there are no items visible in the control.

public object? EmptyContent { get; set; }

Property Value

object

EmptyContentTemplate

The DataTemplate to display when there are no items visible in the control.

public DataTemplate? EmptyContentTemplate { get; set; }

Property Value

DataTemplate

HasTreeLines

Indicates whether tree lines should be rendered in TreeListBox and TreeListView controls.

public bool HasTreeLines { get; set; }

Property Value

bool:

true if tree lines should be rendered; otherwise, false. The default value is false.

Remarks

Tree lines can't render in PropertyGrid controls.

IndentIncrement

The incremental amount by which to indent an item for each depth level.

public double IndentIncrement { get; set; }

Property Value

double:

The default value is 20.0.

IsDataVirtualizationEnabled

Indicates whether data virtualization is enabled.

public bool IsDataVirtualizationEnabled { get; set; }

Property Value

bool:

true if data virtualization is enabled; otherwise, false. The default value is false.

Remarks

Only set this property to true when using virtualized collections that implement IList. In most scenarios, this data virtualization feature is not needed since UI virtualization is always active in the control.

When the data virtualization feature is enabled, as a query for child items is made, an ITreeItemVirtualPlaceholder will be created for each child item. The only property initially touched on the virtualized collection is Count. Then when an item's UI container is first requested, the ITreeItemVirtualPlaceholder will be used to call into the virtualized collection's indexer and retrieve the real item. This allows for virtualized data retrieval of paged sections as needed, instead of the entire collection at once.

IsEmpty

Indicates whether the control is currently empty (doesn't contain any visible items).

public bool IsEmpty { get; }

Property Value

bool:

true if the control is currently empty (doesn't contain any visible items); otherwise, false. The default value is true.

IsFilterActive

Indicates whether a filter is currently active.

public bool IsFilterActive { get; set; }

Property Value

bool:

true if a filter is currently active; otherwise, false. The default value is false.

IsKeyboardFocusWithinContent

Indicates whether keyboard focus is within the content area, and not in any header area.

protected virtual bool IsKeyboardFocusWithinContent { get; }

Property Value

bool:

true if keyboard focus is within the content area; otherwise, false.

IsRootItemVisible

Indicates whether the RootItem is visible, or whether its children are the top-level node items.

public bool IsRootItemVisible { get; set; }

Property Value

bool:

true if the RootItem is the sole top-level node item; otherwise, false. The default value is false.

Remarks

When true, the RootItem itself will be the sole top-level node item. When false, the RootItem's children will be the top-level node items.

ItemAdapter

The TreeListBoxItemAdapter that adapts items with the UI by providing child items, expansion states, etc.

public TreeListBoxItemAdapter? ItemAdapter { get; set; }

Property Value

TreeListBoxItemAdapter

MultiDragKind

Indicates the dragging support when multiple items are involved.

public TreeMultiDragKind MultiDragKind { get; set; }

Property Value

TreeMultiDragKind:

The default value is None, meaning only single item selections can be dragged when CanDragItems is true.

MultiSelectionKind

A TreeMultiSelectionKind that indicates the selection support when multiple items are involved.

public TreeMultiSelectionKind MultiSelectionKind { get; set; }

Property Value

TreeMultiSelectionKind:

The default value is Any.

PathSeparator

The delimiter string that the tree item full path uses.

public string PathSeparator { get; set; }

Property Value

string:

The default value is </code>.

RootItem

The root item to display in the control.

public object? RootItem { get; set; }

Property Value

object

Remarks

Set this property instead of ItemsSource.

SelectedItem

The primary selected item.

public object? SelectedItem { get; set; }

Property Value

object

Remarks

This property's setter can be a bottleneck in very large trees where the specified node hasn't yet been exposed to the control by its ancestor nodes all being expanded. In that scenario, a full tree search is required to locate the node.

SelectedItems

The collection of selected items.

public ISelectedTreeItemCollection SelectedItems { get; }

Property Value

ISelectedTreeItemCollection

SelectionMode

A SelectionMode that indicates the selection behavior.

public SelectionMode SelectionMode { get; set; }

Property Value

SelectionMode:

The default value is Single.

TopLevelIndent

The amount by which to indent a top-level item.

public double TopLevelIndent { get; set; }

Property Value

double:

The default value is 20.0.

Remarks

When top-level items aren't expandable, set this property to 0 to reclaim the space that would have been used by the expander.

Methods

ArrangeOverride(Size)

Called to arrange and size the content of a Control object.

protected override Size ArrangeOverride(Size finalSize)
Parameter Type Description
finalSize Size

Returns

Size:

The size of the control.

BringItemIntoView(object)

Brings the specified node's container into view.

public bool BringItemIntoView(object item)
Parameter Type Description
item object

The node whose container needs to scroll into view.

Returns

bool:

true if the node's container was brought into view; otherwise, false.

Remarks

This method can be a bottleneck in very large trees where the specified node hasn't yet been exposed to the control by its ancestor nodes all being expanded. In that scenario, a full tree search is required to locate the node. For that case, it is recommended to use the BringItemIntoViewByFullPath(string) method that searches by full path instead, since that can be much faster.

BringItemIntoViewByFullPath(string)

Brings the container for the item with the specified full path into view.

public bool BringItemIntoViewByFullPath(string fullPath)
Parameter Type Description
fullPath string

The full path to the item whose container needs to scroll into view.

Returns

bool:

true if the item's container was brought into view; otherwise, false.

Remarks

This method requires that the ItemAdapter supplies a path for each item.

ClearContainerForItemOverride(DependencyObject, object)

When overridden in a derived class, undoes the effects of the PrepareContainerForItemOverride(DependencyObject, object) method.

protected override void ClearContainerForItemOverride(DependencyObject element, object item)
Parameter Type Description
element DependencyObject

The container element.

item object

The item.

CollapseAll()

Collapses all known tree items.

public void CollapseAll()

CreateSelectionBatch()

Creates an IDisposable object that wraps a batch of selection updates, and allows them to be made without raising selection-related events in between each one.

public IDisposable CreateSelectionBatch()

Returns

IDisposable:

The IDisposable that was created.

ExpandAll()

Expands all known tree items.

public void ExpandAll()

FocusItem(object)

Focuses the container for the specified node, scrolling it into view as needed.

public void FocusItem(object item)
Parameter Type Description
item object

The node whose container should be focused.

Remarks

This method can be a bottleneck in very large trees where the specified node hasn't yet been exposed to the control by its ancestor nodes all being expanded. In that scenario, a full tree search is required to locate the node. For that case, it is recommended to use the FocusItemByFullPath(string) method that searches by full path instead, since that can be much faster.

FocusItemByFullPath(string)

Focuses the container for the node with the specified full path, scrolling it into view as needed.

public void FocusItemByFullPath(string fullPath)
Parameter Type Description
fullPath string

The full path to the node whose container should be focused.

Remarks

This method requires that the ItemAdapter supplies a path for each item.

GetContainerForItemOverride()

Creates or identifies the element that is used to display the given item.

protected override DependencyObject GetContainerForItemOverride()

Returns

DependencyObject:

The element that is used to display the given item.

GetFullPath(object)

Returns the full path of the specified item.

public string? GetFullPath(object item)
Parameter Type Description
item object

The item to examine.

Returns

string

GetIsSelectionActive(TreeListBox)

Gets the value of the IsSelectionActive attached property for the specified object.

public static bool GetIsSelectionActive(TreeListBox obj)
Parameter Type Description
obj TreeListBox

The object from which the property value is read.

Returns

bool

GetItemByFullPath(string)

Returns the item with the specified full path.

public object? GetItemByFullPath(string fullPath)
Parameter Type Description
fullPath string

The full path to the item.

Returns

object

GetItemNavigator(object)

Returns the ITreeItemNavigator for the specified item, if the item is a visible item.

public ITreeItemNavigator? GetItemNavigator(object item)
Parameter Type Description
item object

The visible item to examine.

Returns

ITreeItemNavigator

Remarks

This navigator can be used to navigate the item tree. No navigator will be returned if the item is not a visible item in this control.

InvalidateChildren(object)

Invalidates the children of the specified item, allowing the children to be requeried.

public void InvalidateChildren(object item)
Parameter Type Description
item object

The item to examine.

IsItemItsOwnContainerOverride(object)

Determines if the specified item is (or is eligible to be) its own container.

protected override bool IsItemItsOwnContainerOverride(object item)
Parameter Type Description
item object

The item to check.

Returns

bool:

true if the item is (or is eligible to be) its own container; otherwise, false.

OnApplyTemplate()

When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate().

public override void OnApplyTemplate()

OnCreateAutomationPeer()

Returns class-specific AutomationPeer implementations for the Windows Presentation Foundation (WPF) infrastructure.

protected override AutomationPeer OnCreateAutomationPeer()

Returns

AutomationPeer:

The type-specific AutomationPeer implementation.

OnDragEnter(DragEventArgs)

Invoked when an unhandled System.Windows.DragDrop.DragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnDragEnter(DragEventArgs e)
Parameter Type Description
e DragEventArgs

The DragEventArgs that contains the event data.

OnDragLeave(DragEventArgs)

Invoked when an unhandled System.Windows.DragDrop.DragLeave attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnDragLeave(DragEventArgs e)
Parameter Type Description
e DragEventArgs

The DragEventArgs that contains the event data.

OnDragOver(DragEventArgs)

Invoked when an unhandled System.Windows.DragDrop.DragOver attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnDragOver(DragEventArgs e)
Parameter Type Description
e DragEventArgs

The DragEventArgs that contains the event data.

OnDrop(DragEventArgs)

Invoked when an unhandled System.Windows.DragDrop.DragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnDrop(DragEventArgs e)
Parameter Type Description
e DragEventArgs

The DragEventArgs that contains the event data.

OnFilterApplied(RoutedEventArgs)

Occurs after the current filtering state has been applied to all of the control's items, generally occurring when DataFilter is changed, or filtering is enabled or disabled.

protected virtual void OnFilterApplied(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnGotKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled System.Windows.Input.Keyboard.GotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

protected override void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
Parameter Type Description
e KeyboardFocusChangedEventArgs

The KeyboardFocusChangedEventArgs that contains the event data.

OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs)

Invoked just before the IsKeyboardFocusWithinChanged event is raised by this element. Implement this method to add class handling for this event.

protected override void OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs e)
Parameter Type Description
e DependencyPropertyChangedEventArgs

A System.Windows.DependencyPropertyChangedEventArgs that contains the event data.

OnIsRootItemVisibleChanged(RoutedEventArgs)

Occurs after the IsRootItemVisible property is changed.

protected virtual void OnIsRootItemVisibleChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemCollapsed(TreeListBoxItemExpansionEventArgs)

Occurs after an item is collapsed.

protected virtual void OnItemCollapsed(TreeListBoxItemExpansionEventArgs e)
Parameter Type Description
e TreeListBoxItemExpansionEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemCollapsing(TreeListBoxItemExpansionEventArgs)

Occurs before an item is collapsed.

protected virtual void OnItemCollapsing(TreeListBoxItemExpansionEventArgs e)
Parameter Type Description
e TreeListBoxItemExpansionEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemDefaultActionExecuting(TreeListBoxItemEventArgs)

Occurs before the default action is executed for an item.

protected virtual void OnItemDefaultActionExecuting(TreeListBoxItemEventArgs e)
Parameter Type Description
e TreeListBoxItemEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemExpanded(TreeListBoxItemExpansionEventArgs)

Occurs after an item is expanded.

protected virtual void OnItemExpanded(TreeListBoxItemExpansionEventArgs e)
Parameter Type Description
e TreeListBoxItemExpansionEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemExpanding(TreeListBoxItemExpansionEventArgs)

Occurs before an item is expanded.

protected virtual void OnItemExpanding(TreeListBoxItemExpansionEventArgs e)
Parameter Type Description
e TreeListBoxItemExpansionEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemMenuRequested(TreeListBoxItemMenuEventArgs)

Occurs when an item requests a context menu.

protected virtual void OnItemMenuRequested(TreeListBoxItemMenuEventArgs e)
Parameter Type Description
e TreeListBoxItemMenuEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemSelecting(TreeListBoxItemEventArgs)

Occurs before an item is selected.

protected virtual void OnItemSelecting(TreeListBoxItemEventArgs e)
Parameter Type Description
e TreeListBoxItemEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnItemsSourceChanged(IEnumerable, IEnumerable)

Called when the ItemsSource property changes.

protected override void OnItemsSourceChanged(IEnumerable oldValue, IEnumerable newValue)
Parameter Type Description
oldValue IEnumerable

Old value of the ItemsSource property.

newValue IEnumerable

New value of the ItemsSource property.

OnKeyDown(KeyEventArgs)

Invoked when the KeyDown event is received.

protected override void OnKeyDown(KeyEventArgs e)
Parameter Type Description
e KeyEventArgs

Information about the event.

OnRootItemChanged(RoutedEventArgs)

Occurs after the RootItem property is changed.

protected virtual void OnRootItemChanged(RoutedEventArgs e)
Parameter Type Description
e RoutedEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

OnScrollViewerScrollChanged(ScrollChangedEventArgs)

Occurs when the scroll viewer's scroll is changed.

protected virtual void OnScrollViewerScrollChanged(ScrollChangedEventArgs e)
Parameter Type Description
e ScrollChangedEventArgs

The event data.

OnSelectionChanged(SelectionChangedEventArgs)

Occurs when the selection is changed.

protected virtual void OnSelectionChanged(SelectionChangedEventArgs e)
Parameter Type Description
e SelectionChangedEventArgs

The event data.

Remarks

This method has no default implementation. Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

PrepareContainerForItemOverride(DependencyObject, object)

Prepares the specified element to display the specified item.

protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
Parameter Type Description
element DependencyObject

Element used to display the specified item.

item object

Specified item.

ProcessKeyDown(KeyEventArgs)

Processes a key down event.

protected virtual void ProcessKeyDown(KeyEventArgs e)
Parameter Type Description
e KeyEventArgs

The event data.

SelectItemByFullPath(string)

Sets the SelectedItem to the node with the specified full path.

public virtual bool SelectItemByFullPath(string fullPath)
Parameter Type Description
fullPath string

The full path to the node whose container should be selected.

Returns

bool:

true if a node was selected; otherwise, false.

Remarks

This method requires that the ItemAdapter supplies a path for each item.

Events

FilterApplied

Occurs after the current filtering state has been applied to all of the control's items, generally occurring when DataFilter is changed, or filtering is enabled or disabled.

public event RoutedEventHandler FilterApplied

Event Type

RoutedEventHandler

IsRootItemVisibleChanged

Occurs after the IsRootItemVisible property is changed.

public event RoutedEventHandler IsRootItemVisibleChanged

Event Type

RoutedEventHandler

ItemCollapsed

Occurs after an item is collapsed.

public event EventHandler<TreeListBoxItemExpansionEventArgs> ItemCollapsed

Event Type

EventHandler<TreeListBoxItemExpansionEventArgs>

ItemCollapsing

Occurs before an item is collapsed.

public event EventHandler<TreeListBoxItemExpansionEventArgs> ItemCollapsing

Event Type

EventHandler<TreeListBoxItemExpansionEventArgs>

Remarks

Set the event argument's Cancel property to true to prevent the collapse.

ItemDefaultActionExecuting

Occurs before the default action is executed for an item.

public event EventHandler<TreeListBoxItemEventArgs> ItemDefaultActionExecuting

Event Type

EventHandler<TreeListBoxItemEventArgs>

Remarks

Set the event argument's Cancel property to true to prevent a default action from executing, which could be executing a DefaultActionCommand or toggling the item's expansion.

ItemExpanded

Occurs after an item is expanded.

public event EventHandler<TreeListBoxItemExpansionEventArgs> ItemExpanded

Event Type

EventHandler<TreeListBoxItemExpansionEventArgs>

ItemExpanding

Occurs before an item is expanded.

public event EventHandler<TreeListBoxItemExpansionEventArgs> ItemExpanding

Event Type

EventHandler<TreeListBoxItemExpansionEventArgs>

Remarks

Set the event argument's Cancel property to true to prevent the expansion.

ItemMenuRequested

Occurs when an item requests a context menu.

public event EventHandler<TreeListBoxItemMenuEventArgs> ItemMenuRequested

Event Type

EventHandler<TreeListBoxItemMenuEventArgs>

ItemSelecting

Occurs before an item is selected.

public event EventHandler<TreeListBoxItemEventArgs> ItemSelecting

Event Type

EventHandler<TreeListBoxItemEventArgs>

Remarks

Set the event argument's Cancel property to true to prevent the selection.

RootItemChanged

Occurs after the RootItem property is changed.

public event RoutedEventHandler RootItemChanged

Event Type

RoutedEventHandler

SelectionChanged

Occurs when the selection is changed.

public event SelectionChangedEventHandler SelectionChanged

Event Type

SelectionChangedEventHandler

Fields

AutoExpandItemsOnFilterProperty

Defines the AutoExpandItemsOnFilter property.

public static readonly DependencyProperty AutoExpandItemsOnFilterProperty

CanDragItemsProperty

Defines the CanDragItems property.

public static readonly DependencyProperty CanDragItemsProperty

CanSelectItemOnFocusProperty

Defines the CanSelectItemOnFocus property.

public static readonly DependencyProperty CanSelectItemOnFocusProperty

DataFilterProperty

Defines the DataFilter property.

public static readonly DependencyProperty DataFilterProperty

EmptyContentProperty

Defines the EmptyContent property.

public static readonly DependencyProperty EmptyContentProperty

EmptyContentTemplateProperty

Defines the EmptyContentTemplate property.

public static readonly DependencyProperty EmptyContentTemplateProperty

FilterAppliedEvent

Defines the FilterApplied routed event.

public static readonly RoutedEvent FilterAppliedEvent

HasTreeLinesProperty

Defines the HasTreeLines property.

public static readonly DependencyProperty HasTreeLinesProperty

IndentIncrementProperty

Defines the IndentIncrement property.

public static readonly DependencyProperty IndentIncrementProperty

IsDataVirtualizationEnabledProperty

Defines the IsDataVirtualizationEnabled property.

public static readonly DependencyProperty IsDataVirtualizationEnabledProperty

IsEmptyProperty

Defines the IsEmpty property.

public static readonly DependencyProperty IsEmptyProperty

IsFilterActiveProperty

Defines the IsFilterActive property.

public static readonly DependencyProperty IsFilterActiveProperty

IsRootItemVisibleChangedEvent

Defines the IsRootItemVisibleChanged routed event.

public static readonly RoutedEvent IsRootItemVisibleChangedEvent

IsRootItemVisibleProperty

Defines the IsRootItemVisible property.

public static readonly DependencyProperty IsRootItemVisibleProperty

IsSelectionActiveProperty

Defines the IsSelectionActive property.

public static readonly DependencyProperty IsSelectionActiveProperty

ItemAdapterProperty

Defines the ItemAdapter property.

public static readonly DependencyProperty ItemAdapterProperty

ItemCollapsedEvent

Defines the ItemCollapsed routed event.

public static readonly RoutedEvent ItemCollapsedEvent

ItemCollapsingEvent

Defines the ItemCollapsing routed event.

public static readonly RoutedEvent ItemCollapsingEvent

ItemDataFormat

Specifies the data format to use for item data.

public const string ItemDataFormat = "ActiproSoftware.TreeListBox.Items"

ItemDefaultActionExecutingEvent

Defines the ItemDefaultActionExecuting routed event.

public static readonly RoutedEvent ItemDefaultActionExecutingEvent

ItemExpandedEvent

Defines the ItemExpanded routed event.

public static readonly RoutedEvent ItemExpandedEvent

ItemExpandingEvent

Defines the ItemExpanding routed event.

public static readonly RoutedEvent ItemExpandingEvent

ItemMenuRequestedEvent

Defines the ItemMenuRequested routed event.

public static readonly RoutedEvent ItemMenuRequestedEvent

ItemSelectingEvent

Defines the ItemSelecting routed event.

public static readonly RoutedEvent ItemSelectingEvent

MultiDragKindProperty

Defines the MultiDragKind property.

public static readonly DependencyProperty MultiDragKindProperty

MultiSelectionKindProperty

Defines the MultiSelectionKind property.

public static readonly DependencyProperty MultiSelectionKindProperty

PathSeparatorProperty

Defines the PathSeparator property.

public static readonly DependencyProperty PathSeparatorProperty

RootItemChangedEvent

Defines the RootItemChanged routed event.

public static readonly RoutedEvent RootItemChangedEvent

RootItemProperty

Defines the RootItem property.

public static readonly DependencyProperty RootItemProperty

SelectedItemProperty

Defines the SelectedItem property.

public static readonly DependencyProperty SelectedItemProperty

SelectionChangedEvent

Defines the SelectionChanged routed event.

public static readonly RoutedEvent SelectionChangedEvent

SelectionModeProperty

Defines the SelectionMode property.

public static readonly DependencyProperty SelectionModeProperty

TopLevelIndentProperty

Defines the TopLevelIndent property.

public static readonly DependencyProperty TopLevelIndentProperty

Extension Methods