'宣言 Public Class ContextualTabItemCollection Inherits Infragistics.Collections.ObservableCollectionExtended(Of RibbonTabItem)
public class ContextualTabItemCollection : Infragistics.Collections.ObservableCollectionExtended<RibbonTabItem>
注: このコレクション内の RibbonTabItem は、XamRibbon.Tabs プロパティによって返されるコレクションに含まれません。ただし、これらは XamRibbon の読み取り専用 XamRibbon.TabsInView プロパティによって返されたコレクションに含まれます。
Private xamRibbon As XamRibbon Private Sub addContextualTabGroups() 'Code to create XamRibbon 'add Ribbon Contextual Tab Groups Dim contextualTG As New ContextualTabGroup() contextualTG.Caption = "Sample CTG" contextualTG.Key = "CG1" contextualTG.BaseBackColor = Colors.Aqua contextualTG.IsVisible = True xamRibbon.ContextualTabGroups.Add(contextualTG) 'AddRange of ContextualTabGroups Dim secondTG As New ContextualTabGroup() secondTG.Caption = "Second CTG" secondTG.Key = "CG2" secondTG.IsVisible = True Dim trirdTG As New ContextualTabGroup() trirdTG.Caption = "Third CTG" trirdTG.Key = "CG3" trirdTG.IsVisible = True Dim CTGList As New Infragistics.Windows.Helpers.ObservableCollectionExtended(Of ContextualTabGroup)() CTGList.Add(secondTG) CTGList.Add(trirdTG) xamRibbon.ContextualTabGroups.AddRange(CTGList) 'add tabs to Contextual Tab Groups Dim designTabItem As New RibbonTabItem() designTabItem.Header = "Desin" contextualTG.Tabs.Add(designTabItem) 'contextualTG.Key = "AB1"; Dim layoutTabItem As New RibbonTabItem() layoutTabItem.Header = "Layout" contextualTG.Tabs.Add(layoutTabItem) Dim secondTabItem As New RibbonTabItem() secondTabItem.Header = "SecondCTab" secondTG.Tabs.Add(secondTabItem) 'secondTG.Key = "AB2"; addRibbonGroupsInContextualtabItems() End Sub Private Sub TabGroupProperties() Dim resultString As String = "" For Each igTabItem As RibbonTabItem In xamRibbon.Tabs resultString += getTabItemParams(igTabItem) Next For Each ctgTabGroup As ContextualTabGroup In xamRibbon.ContextualTabGroups For Each igTabItem As RibbonTabItem In ctgTabGroup.Tabs resultString += getTabItemParams(igTabItem) Next Next MessageBox.Show(resultString) End Sub Private Function getTabItemParams(ByVal igTabItem As RibbonTabItem) As String Dim result As String = "" If igTabItem.IsInContextualTabGroup Then result += igTabItem.Header + " TabItem is in ContextualTabGroup" result += " named " + igTabItem.ContextualTabGroup.Caption If igTabItem.IsFirstTabInContextualTabGroup Then result += " - FirstTabInContextualTabGroup" End If If igTabItem.IsLastTabInContextualTabGroup Then result += " - LastTabInContextualTabGroup" End If Else result += igTabItem.Header + " TabItem is not in ContextualTabGroup" End If result += " : Number of Groups-" + igTabItem.RibbonGroups.Count.ToString() If igTabItem.IsMouseOverTab Then result += " : mouse is over this RibbonTabItem" End If result += "" & Chr(10) & "" Return result End Function
XamRibbon xamRibbon; //Code to create XamRibbon //add Ribbon Contextual Tab Groups private void addContextualTabGroups() { ContextualTabGroup contextualTG = new ContextualTabGroup(); contextualTG.Caption = "Sample CTG"; contextualTG.Key = "CG1"; contextualTG.BaseBackColor = Colors.Aqua; contextualTG.IsVisible = true; xamRibbon.ContextualTabGroups.Add(contextualTG); //AddRange of ContextualTabGroups ContextualTabGroup secondTG = new ContextualTabGroup(); secondTG.Caption = "Second CTG"; secondTG.Key = "CG2"; secondTG.IsVisible = true; ContextualTabGroup trirdTG = new ContextualTabGroup(); trirdTG.Caption = "Third CTG"; trirdTG.Key = "CG3"; trirdTG.IsVisible = true; Infragistics.Windows.Helpers.ObservableCollectionExtended<ContextualTabGroup> CTGList = new Infragistics.Windows.Helpers.ObservableCollectionExtended<ContextualTabGroup>(); CTGList.Add(secondTG); CTGList.Add(trirdTG); xamRibbon.ContextualTabGroups.AddRange(CTGList); //add tabs to Contextual Tab Groups RibbonTabItem designTabItem = new RibbonTabItem(); designTabItem.Header = "Desin"; contextualTG.Tabs.Add(designTabItem); //contextualTG.Key = "AB1"; RibbonTabItem layoutTabItem = new RibbonTabItem(); layoutTabItem.Header = "Layout"; contextualTG.Tabs.Add(layoutTabItem); RibbonTabItem secondTabItem = new RibbonTabItem(); secondTabItem.Header = "SecondCTab"; secondTG.Tabs.Add(secondTabItem); //secondTG.Key = "AB2"; addRibbonGroupsInContextualtabItems(); } void TabGroupProperties() { string resultString = ""; foreach (RibbonTabItem igTabItem in xamRibbon.Tabs) { resultString += getTabItemParams(igTabItem); } foreach (ContextualTabGroup ctgTabGroup in xamRibbon.ContextualTabGroups) { foreach (RibbonTabItem igTabItem in ctgTabGroup.Tabs) { resultString += getTabItemParams(igTabItem); } } MessageBox.Show(resultString); } string getTabItemParams(RibbonTabItem igTabItem) { string result = ""; if (igTabItem.IsInContextualTabGroup) { result += igTabItem.Header + " TabItem is in ContextualTabGroup"; result += " named " + igTabItem.ContextualTabGroup.Caption; if (igTabItem.IsFirstTabInContextualTabGroup) { result += " - FirstTabInContextualTabGroup"; } if (igTabItem.IsLastTabInContextualTabGroup) { result += " - LastTabInContextualTabGroup"; } } else { result += igTabItem.Header + " TabItem is not in ContextualTabGroup"; } result += " : Number of Groups-" + igTabItem.RibbonGroups.Count.ToString(); if (igTabItem.IsMouseOverTab) { result += " : mouse is over this RibbonTabItem"; } result += "\n"; return result; }