Back to Devexpress

BarItemLinkCollection Class

windowsforms-devexpress-dot-xtrabars-86a851a6.md

latest7.2 KB
Original Source

BarItemLinkCollection Class

A collection of bar item links.

Namespace : DevExpress.XtraBars

Assembly : DevExpress.XtraBars.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
public class BarItemLinkCollection :
    BarItemLinkReadOnlyCollection,
    BarLinksHolder,
    IList,
    ICollection,
    IEnumerable,
    IEnumerable<BarItemLink>
vb
Public Class BarItemLinkCollection
    Inherits BarItemLinkReadOnlyCollection
    Implements BarLinksHolder,
               IList,
               ICollection,
               IEnumerable,
               IEnumerable(Of BarItemLink)

The following members return BarItemLinkCollection objects:

Show 11 links

Remarks

All commands end-users see within toolbars are bar item links. A bar item link is a visual representation of a bar item. Use the ItemLinks property of bar items, page groups, popup menus, and toolbars to get item links.

Read the following topics for additional information:

This example hides duplicated links (BarItemLink) based on the selected option:

csharp
using System;
using DevExpress.XtraBars;
using DevExpress.XtraBars.Ribbon;

namespace DXApplication {
    public partial class Form1 : RibbonForm {
        public Form1() {
            InitializeComponent();
        }
        void radioGroup1_SelectedIndexChanged(object sender, EventArgs e) {
            ShowAllBarItemLinks();
            switch (radioGroup1.SelectedIndex) {
                case 1:
                    ShowBarItemLinks(ribbonPageGroup1.ItemLinks);
                    break;
                case 2:
                    ShowBarItemLinks(ribbonPageGroup2.ItemLinks);
                    break;
                case 3:
                    ShowBarItemLinks(ribbonControl1.Toolbar.ItemLinks);
                    break;
                default:
                    break;
            }
        }
        void ShowBarItemLinks(BarItemLinkCollection links) {
            foreach (BarItemLink link in links) {
                HideDuplicatedLinks(link.Item, link.LinkedObject);
            }
        }
        void HideDuplicatedLinks(BarItem item, object linkedObject) {
            foreach (BarItemLink link in item.Links) {
                link.Visible = link.LinkedObject == linkedObject;
            }
        }
        void ShowAllBarItemLinks() {
            foreach (BarItem item in ribbonControl1.Items) {
                foreach (BarItemLink link in item.Links) {
                    link.Visible = true;
                }
            }
        }
    }
}
vb
Imports System
Imports DevExpress.XtraBars
Imports DevExpress.XtraBars.Ribbon

Namespace DXApplication
    Partial Public Class Form1
        Inherits RibbonForm

        Public Sub New()
            InitializeComponent()
        End Sub
        Private Sub radioGroup1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
            ShowAllBarItemLinks()
            Select Case radioGroup1.SelectedIndex
                Case 1
                    ShowBarItemLinks(ribbonPageGroup1.ItemLinks)
                Case 2
                    ShowBarItemLinks(ribbonPageGroup2.ItemLinks)
                Case 3
                    ShowBarItemLinks(ribbonControl1.Toolbar.ItemLinks)
                Case Else
            End Select
        End Sub
        Private Sub ShowBarItemLinks(ByVal links As BarItemLinkCollection)
            For Each link As BarItemLink In links
                HideDuplicatedLinks(link.Item, link.LinkedObject)
            Next link
        End Sub
        Private Sub HideDuplicatedLinks(ByVal item As BarItem, ByVal linkedObject As Object)
            For Each link As BarItemLink In item.Links
                link.Visible = link.LinkedObject Is linkedObject
            Next link
        End Sub
        Private Sub ShowAllBarItemLinks()
            For Each item As BarItem In ribbonControl1.Items
                For Each link As BarItemLink In item.Links
                    link.Visible = True
                Next link
            Next item
        End Sub
    End Class
End Namespace

Inheritance

Object ReadOnlyCollectionBase DevExpress.XtraBars.ReadOnlyListBase BarItemLinkReadOnlyCollection BarItemLinkCollection

Extension Methods

GetPdfViewerBarItemLink(PdfViewerCommandId)

See Also

BarItemLinkCollection Members

Bar.ItemLinks

BarCustomContainerItem.ItemLinks

PopupMenuBase.ItemLinks

Links

DevExpress.XtraBars Namespace