wpf-devexpress-dot-xpf-dot-bars-dot-baritemlinkactionbase.md
Gets or sets the index of the bar item link in the object’s collection of bar item links. This is an attached property.
Namespace : DevExpress.Xpf.Bars
Assembly : DevExpress.Xpf.Core.v25.2.dll
NuGet Package : DevExpress.Wpf.Core
See GetItemLinkIndex(DependencyObject) and SetItemLinkIndex(DependencyObject, Int32).
| Type | Description |
|---|---|
| Int32 |
The index of the bar item link in the object’s collection of bar item links.
|
This property is in effect for the BarManagerActionContainer.Actions collection’s BarItem and BarItemLink descendants.
The following example demonstrates how to add a custom menu item to a grid column’s context menu:
View Example: Customize the GridControl's Context Menu
Add a bar item (for example, BarCheckItem) to the DataViewBase.ColumnMenuCustomizations collection and specify item properties. Attach the BarItemLinkActionBase.ItemLinkIndex property to this item to insert it into a specific position.
<dxg:TableView.ColumnMenuCustomizations>
<dxb:BarCheckItem Content="Checked" IsChecked="True" dxb:BarItemLinkActionBase.ItemLinkIndex="0"/>
<dxb:BarItemLinkSeparator dxb:BarItemLinkActionBase.ItemLinkIndex="1"/>
</dxg:TableView.ColumnMenuCustomizations>
Handle the ShowGridMenu event.
<dxg:TableView ShowGridMenu="ShowGridMenu"/>
void ShowGridMenu(object sender, GridMenuEventArgs e) {
if (e.MenuType == GridMenuType.Column) {
BarCheckItem item1 = new BarCheckItem { Content = "Checked", IsChecked = true };
BarItemLinkActionBase.SetItemLinkIndex(item1, 0);
e.Customizations.Add(item1);
BarItemLinkSeparator item2 = new BarItemLinkSeparator();
BarItemLinkActionBase.SetItemLinkIndex(item2, 1);
e.Customizations.Add(item2);
}
}
Sub ShowGridMenu(sender As Object, e As GridMenuEventArgs)
If e.MenuType = GridMenuType.Column Then
Dim item1 As BarCheckItem = New BarCheckItem() With {.Content = "Checked", .IsChecked = True}
BarItemLinkActionBase.SetItemLinkIndex(item1, 0)
e.Customizations.Add(item1)
Dim item2 As BarItemLinkSeparator = New BarItemLinkSeparator()
BarItemLinkActionBase.SetItemLinkIndex(item2, 1)
e.Customizations.Add(item2)
End If
End Sub
The following code snippets (auto-collected from DevExpress Examples) contain references to the ItemLinkIndex attachedproperty.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.
wpf-rich-text-editor-customize-context-menu/CS/ContextMenuCustomization/MainWindow.xaml#L42
<dxre:RemoveRichEditCommandAction Id="{x:Static dxrecore:RichEditCommandId.CutSelection}" />
<dxb:BarButtonItemLink dxb:BarItemLinkActionBase.ItemLinkIndex="0">
<dxb:BarButtonItemLink.BarItemName>
wpf-spreadsheet-customize-context-menu/CS/MenuCustomization/MainWindow.xaml#L36
<dxsps:SpreadsheetMenuCustomization MenuType="Cell">
<dxb:BarButtonItemLink dxb:BarItemLinkActionBase.ItemLinkIndex="0">
<dxb:BarButtonItemLink.BarItemName>
how-to-customize-a-grids-context-menu-e1925/CS/Window1.xaml#L12
<dxg:TableView.ColumnMenuCustomizations>
<dxb:BarCheckItem Content="BarCheckItem" dxb:BarItemLinkActionBase.ItemLinkIndex="0" CheckedChanged="BarCheckItem_CheckedChanged"/>
<dxb:BarItemLinkSeparator dxb:BarItemLinkActionBase.ItemLinkIndex="1"/>
actionAddSeparator.ItemLink = new BarItemLinkSeparator();
actionAddSeparator.ItemLinkIndex = 1;
actionAddSeparator.ItemLink = New BarItemLinkSeparator()
actionAddSeparator.ItemLinkIndex = 1
' Add the actions to the ActionList
See Also