2013-05-13 79 views
1

我需要遍歷RibbonPageGroup中所有項目的循環。我試着從各個功能區的項目設置Visibility屬性爲「true /總是」如何遍歷RibbonPageGroup中的DevExpress項目?

For Each rp As RibbonPage In ribbonControl.Pages 
     rp.Visible = True 
      For Each pg As RibbonPageGroup In rp.Groups 
        pg.Visible = True 
        For Each btn As DevExpress.XtraBars.BarButtonItem In pg.?????? 
         btn.Visibility = DevExpress.XtraBars.BarItemVisibility.Always 
       Next 
      Next 
    Next 

回答

2

沒有bar items的RibbonPageGroup內。您可以通過RibbonPageGroup.ItemLinks屬性迭代bar item links

請參閱Accessing Bar Items and Links文章以獲取更多信息。

+0

好的。謝謝,我明白了。循環:對於每個btn作爲對象在pg.ItemLinks – 2013-05-13 08:35:23

+0

@NiklasB。我很高興聽到我的幫助對你有幫助。 [你可以接受正確的答案](http://stackoverflow.com/faq#howtoask)。 – DmitryG 2013-05-13 08:38:23

1

你可以做到這一點使用LINQ:

For Each bbi As var In RbpVersion.ItemLinks.Cast(Of BarItemLink)().[Select](Function(x) x.Item) 
    Console.WriteLine(bbi.Caption) 
Next 
0

我有同樣的問題。用這段代碼對它進行排序。完美的作品:

For Each pagegroup As DevExpress.XtraBars.Ribbon.RibbonPage In rbnSafety.Pages 
    For Each group As DevExpress.XtraBars.Ribbon.RibbonPageGroup In pagegroup.Groups 
     For Each button As DevExpress.XtraBars.BarButtonItem In group.Ribbon.Items.OfType(Of DevExpress.XtraBars.BarButtonItem)() 
     If button.Name <> "rbtnExit" Then 
      button.Enabled = False 
     End If 
     Next 
     For Each button As DevExpress.XtraBars.BarSubItem In group.Ribbon.Items.OfType(Of DevExpress.XtraBars.BarSubItem)() 
      button.Enabled = False 
     Next 
    Next 
Next