ClassRadBreadCrumb
Provides a breadcrumb navigation control that displays a hierarchical path representation with support for tree-based navigation. The control allows users to navigate through hierarchical data structures and provides text mode editing capabilities with auto-completion features.
Definition
Namespace:Telerik.WinControls.UI
Assembly:Telerik.WinControls.UI.dll
Syntax:
public class RadBreadCrumb : RadEditorControl, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, INotifyPropertyChanged, ISupportInitializeNotification, ISupportInitialize, IComponentTreeHandler, ILayoutHandler, IAnalyticsProvider
Inheritance: objectMarshalByRefObjectComponentControlScrollableControlRadControlRadEditorControlRadBreadCrumb
Implements:
Inherited Members
Constructors
RadBreadCrumb()
Initializes a new instance of the RadBreadCrumb class with default settings. Sets the AutoSize property to true to enable automatic sizing based on content.
Declaration
public RadBreadCrumb()
Properties
AutoCompleteSuggestHelper
Gets the auto-completion suggestion helper that manages the display and filtering of suggested navigation paths. This helper provides intelligent suggestions based on the current input and available tree nodes.
Declaration
[Browsable(true)]
public BreadCrumbAutoCompleteSuggestHelper AutoCompleteSuggestHelper { get; }
Property Value
AutoSize
Gets or sets a value indicating whether the breadcrumb control automatically adjusts its size to fit its content. When enabled, the control will resize itself based on the breadcrumb path length and available space.
Declaration
[Browsable(true)]
public override bool AutoSize { get; set; }
Property Value
Overrides
BreadCrumbElement
Gets the main breadcrumb element that handles the visual representation and functionality of the breadcrumb navigation. This element contains all the visual parts including split buttons, text editor, and dropdown menus.
Declaration
[Browsable(false)]
public virtual RadBreadCrumbElement BreadCrumbElement { get; }
Property Value
ChildMember
Gets or sets the property name from the data source that identifies child relationships in hierarchical data. This property is ignored when DefaultTreeView is set, as the tree view manages the hierarchy.
DataMember
Gets or sets the name of the data member in the data source that contains the hierarchical data. This property is ignored when DefaultTreeView is set, as the tree view provides the data structure.
Declaration
[Browsable(true)]
public string DataMember { get; set; }
Property Value
DataSource
Gets or sets the data source that provides hierarchical data for the breadcrumb navigation. This property is ignored when DefaultTreeView is set, as the tree view serves as the data source.
DefaultSize
Gets the default size for the breadcrumb control when no explicit size is specified. Returns a size of 200x20 pixels which provides adequate space for typical breadcrumb navigation.
Declaration
protected override Size DefaultSize { get; }
Property Value
Overrides
DefaultTreeView
Gets or sets the RadTreeView control that provides the hierarchical data source for breadcrumb navigation. When set, the breadcrumb will display and navigate through the tree structure of the associated tree view.
Declaration
public RadTreeView DefaultTreeView { get; set; }
Property Value
DisplayMember
Gets or sets the property name from the data source that provides the display text for breadcrumb items. This property is ignored when DefaultTreeView is set, as the tree view handles display member mapping.
IsAutoCompleteEnabled
Gets or sets a value indicating whether auto-completion functionality is enabled when the breadcrumb is in edit mode. When enabled, the control provides suggestions based on available navigation paths as the user types.
Declaration
[Browsable(true)]
public bool IsAutoCompleteEnabled { get; set; }
Property Value
IsHistoryEnabled
Gets or sets a value indicating whether the breadcrumb maintains a history of visited navigation paths. When enabled, users can access previously visited paths through the history dropdown menu.
Declaration
[Browsable(true)]
public bool IsHistoryEnabled { get; set; }
Property Value
IsTextModeEnabled
Gets or sets a value indicating whether text mode editing is enabled for the breadcrumb control. When enabled, users can click to edit the breadcrumb path as text with auto-completion support.
Declaration
[Browsable(true)]
public bool IsTextModeEnabled { get; set; }
Property Value
Nodes
Gets the collection of tree nodes that define the hierarchical structure for breadcrumb navigation. These nodes represent the available navigation paths and are displayed as breadcrumb segments.
Declaration
[Browsable(true)]
public virtual RadTreeNodeCollection Nodes { get; }
Property Value
ParentMember
Gets or sets the property name from the data source that identifies parent relationships in hierarchical data. This property is ignored when DefaultTreeView is set, as the tree view manages the hierarchy.
Declaration
public virtual string ParentMember { get; set; }
Property Value
Path
Gets or sets the current navigation path as a string with path elements separated by the PathSeparator. Setting this property navigates to the specified path and updates the breadcrumb display accordingly.
PathSeparator
Gets or sets the character used to separate path elements in the breadcrumb navigation. This separator is used when displaying the path in text mode and when parsing user input.
Declaration
[Browsable(true)]
public char PathSeparator { get; set; }
Property Value
PinnedHeaderItems
Gets the collection of pinned menu items in the HeaderDropDownButtonElement. These items provide shortcuts for faster navigation to predefined paths and enhance user experience.
Declaration
[Browsable(false)]
public ObservableCollection<AssociatedMenuItem> PinnedHeaderItems { get; }
Property Value
PinnedItemsPosition
Gets or sets the position of pinned header items in the HeaderDropDownButtonElement. Determines whether pinned items appear at the top or bottom of the dropdown menu for quick navigation access.
Declaration
public MenuItemsPosition PinnedItemsPosition { get; set; }
Property Value
RelationBindings
Gets the collection of relation bindings that define how related data tables are connected in the data source. This property is ignored when DefaultTreeView is set, as the tree view handles data relationships.
Declaration
public virtual RelationBindingCollection RelationBindings { get; }
Property Value
SelectTreeNodeOnClick
Gets or sets a value indicating whether clicking the action part of a split button element selects the corresponding tree node. When false, clicking the action part opens the dropdown menu instead of selecting the node.
ShowHiddenNodes
Gets or sets a value indicating whether hidden tree nodes should be displayed in the breadcrumb navigation. Hidden nodes are those with their Visible property set to false.
UseMnemonic
Gets or sets a value indicating whether the control interprets ampersand characters as access key prefix characters. When enabled, characters following ampersands will be underlined and treated as keyboard shortcuts.
ValueMember
Gets or sets the property name from the data source that provides the value for breadcrumb items. This property is ignored when DefaultTreeView is set, as the tree view handles value member mapping.
Methods
CraeteBreadCrumbElement()
Creates and returns a new instance of RadBreadCrumbElement that serves as the main visual element for the breadcrumb control. Override this method in derived classes to provide custom breadcrumb element implementations.
Declaration
protected virtual RadBreadCrumbElement CraeteBreadCrumbElement()
Returns
A new RadBreadCrumbElement instance.
CreateChildItems(RadElement)
Creates the child elements for the breadcrumb control by adding the main RadBreadCrumbElement to the parent container. This method is called during the initialization phase to build the visual element hierarchy.
Declaration
protected override void CreateChildItems(RadElement parent)
Parameters
parent
The parent element that will contain the breadcrumb element.
Overrides
GetNodesCount(RadTreeNodeCollection)
Gets the total count of nodes in the specified tree node collection, including all descendant nodes. This method recursively counts nodes in the entire subtree hierarchy.
Declaration
public int GetNodesCount(RadTreeNodeCollection nodes)
Parameters
nodes
The RadTreeNodeCollection to count nodes from.
Returns
The total number of nodes in the collection and all its descendant collections.
ProcessAutoSizeChanged(bool)
Processes changes to the AutoSize property and adjusts the layout behavior of the breadcrumb control accordingly. When AutoSize is enabled, the control stretches horizontally but not vertically; when disabled, it stretches in both directions.
Declaration
protected override void ProcessAutoSizeChanged(bool value)
Parameters
value
The new AutoSize value indicating whether automatic sizing is enabled.
Overrides
UpdateBreadCrumb(RadTreeNode)
Updates the breadcrumb display to show the path to the specified tree node. This method rebuilds the breadcrumb segments to reflect the hierarchy from the root to the target node.
Declaration
public void UpdateBreadCrumb(RadTreeNode node)
Parameters
node
The RadTreeNode to navigate to and display in the breadcrumb.
Events
AutoCompleteItemsCreated
Occurs after auto-completion items have been created and populated. This event allows modification of the auto-completion suggestions collection including adding, removing, or reordering items.
Declaration
public event AutoCompleteItemsCreatedEventHandler AutoCompleteItemsCreated
Event Value
AutoCompleteItemsCreating
Occurs when auto-completion items are being created from user input. This event allows modification of the input text used for generating auto-completion suggestions, useful for implementing shortcuts.
Declaration
public event AutoCompleteItemsCreatingEventHandler AutoCompleteItemsCreating
Event Value
CollapsedItemCreated
Occurs when breadcrumb segments are collapsed due to insufficient display space and menu items are created for collapsed segments. This event allows customization of collapsed menu items or prevention of specific items from being added to the collapsed collection.
Declaration
public event AssociatedMenuItemEventHandler CollapsedItemCreated
Event Value
CollapsedItemsCreated
Occurs after all collapsed menu items have been created when breadcrumb segments don't fit in the available space. This event allows final modifications to the collapsed items collection including reordering and custom item management.
Declaration
public event AssociatedMenuItemCollectionEventHandler CollapsedItemsCreated
Event Value
HistoryItemCreated
Occurs when the user navigates to a new path and a history entry is being created. This event allows customization of history menu items or prevention of specific paths from being added to the navigation history.
Declaration
public event AssociatedMenuItemEventHandler HistoryItemCreated
Event Value
PathParsed
Occurs after a navigation path has been successfully parsed and a RadTreeNode is about to be selected. This event allows changing the selected node or handling cases where the parsed path is invalid.
Declaration
public event PathParsedEventHandler PathParsed
Event Value
PathParsing
Occurs when a navigation path is about to be parsed from user input. This event allows modification of the path string or cancellation of the parsing operation before navigation occurs.
Declaration
public event PathParsingEventHandler PathParsing
Event Value
RootNodesRequested
Occurs when the root nodes of the associated tree view are requested during path parsing operations. This event allows modification of the default root nodes collection by adding, removing, or replacing nodes.
Declaration
public event TreeNodeCollectionEventHandler RootNodesRequested
Event Value
SplitButtonCreated
Occurs after a RadSplitButtonElement has been created for a breadcrumb segment. This event allows customization of button properties and modification of the dropdown menu items collection.
Declaration
public event SplitButtonCreatedEventHandler SplitButtonCreated
Event Value
SplitButtonCreating
Occurs when a RadSplitButtonElement is being created for a breadcrumb segment. This event allows replacement with a custom button implementation or cancellation of button creation for specific nodes.
Declaration
public event SplitButtonCreatingEventHandler SplitButtonCreating
Event Value