Private xamRibbon As XamRibbon
Private Sub addButtonToolProperties()
'Code to Create XamRibbon object..
ListBox mListBox;
If xamRibbon.Tabs.Count < 1 Then
Return
End If
Dim igrTabItem As RibbonTabItem = xamRibbon.Tabs(0)
'add RibbonGroup
Dim buttonToolGroup As RibbonGroup = getRibbonGroup(igrTabItem, "ButtonToolProperties")
'add ButtonTool
Dim btnTool As ButtonTool = addButtonToolToRibbonGroup(buttonToolGroup, "buttonToolPtoperties", "btnToolProperties", "/images/icons/Ribbon/New_Large.png")
Dim btnToolbuttonToolProperties As ButtonTool = addButtonToolToRibbonGroup(buttonToolGroup, "buttonToolProperties", "btnToolProperties", "/images/icons/Ribbon/EditCut.png")
'ButtnTool Properties
btnTool.Id = "btnToolProperties"
btnTool.KeyTip = "PR1"
btnTool.SmallImage = getImageSource("/images/icons/Ribbon/New_Large.png")
'ButtonTool Events
AddHandler btnTool.Click, AddressOf btnTool_Click
AddHandler btnTool.Cloned, AddressOf btnTool_Cloned
AddHandler btnTool.CloneDiscarded, AddressOf btnTool_CloneDiscarded
End Sub
'Event Handlers
Private Sub btnTool_CloneDiscarded(ByVal sender As Object, ByVal e As Infragistics.Windows.Ribbon.Events.ToolCloneDiscardedEventArgs)
Me.mListBox.Items.Add("" & Chr(10) & "ButtonTool " + getSendername(sender) + " is cloned discarded!")
mListBox.ScrollIntoView(mListBox.Items(mListBox.Items.Count - 1))
End Sub
Private Sub btnTool_Cloned(ByVal sender As Object, ByVal e As Infragistics.Windows.Ribbon.Events.ToolClonedEventArgs)
Me.mListBox.Items.Add("" & Chr(10) & "ButtonTool " + getSendername(sender) + " is cloned!")
mListBox.ScrollIntoView(mListBox.Items(mListBox.Items.Count - 1))
End Sub
Private Sub btnTool_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.mListBox.Items.Add("" & Chr(10) & "ButtonTool " + getSendername(sender) + " is clicked!")
mListBox.ScrollIntoView(mListBox.Items(mListBox.Items.Count - 1))
End Sub
Private Function addButtonToolToRibbonGroup(ByVal igRibbongroup As RibbonGroup, ByVal caption As String, ByVal tagString As String, ByVal imageUriString As String) As ButtonTool
Dim btnTool As ButtonTool = getButtonTool(caption, tagString, imageUriString)
igRibbongroup.Items.Add(btnTool)
Return btnTool
End Function
'Get ButtonTool properties
Private Function getSendername(ByVal sender As Object) As String
Dim result As String = "unknown"
If TypeOf sender Is ButtonTool Then
Dim btool As ButtonTool = TryCast(sender, ButtonTool)
result = "ButtonTool" + ":" + btool.Caption + " location:" + btool.Location.ToString()
result += "" & Chr(10) & "IsActine=" + btool.IsActive.ToString() + ",IsOnQat=" + btool.IsOnQat.ToString()
result += "" & Chr(10) & "HaImage=" + btool.HasImage.ToString() + ",IsQatCommonTool=" + btool.IsQatCommonTool.ToString()
result += "" & Chr(10) & "SizingMode=" + btool.SizingMode.ToString() + ",KeyTip=" + btool.KeyTip
result += "" & Chr(10) & "HasCaption=" + btool.HasCaption.ToString() + ",Id=" + btool.Id
result += "" & Chr(10) & "LargeImage=" + btool.LargeImage.ToString()
result += "" & Chr(10) & "SmallImage=" + btool.SmallImage.ToString()
End If
Return result
End Function
'Get Image Source
Private Function getImageSource(ByVal uriString As String) As BitmapImage
Dim bmpImage As New BitmapImage()
bmpImage.BeginInit()
bmpImage.UriSource = New Uri(uriString, UriKind.RelativeOrAbsolute)
bmpImage.EndInit()
Return bmpImage
End Function
'Add ButtonTool to RIbbonGroup
Private Function addButtonToolToRibbonGroup(ByVal igRibbongroup As RibbonGroup, ByVal caption As String, ByVal tagString As String, ByVal imageUriString As String) As ButtonTool
Dim btnTool As ButtonTool = getButtonTool(caption, tagString, imageUriString)
igRibbongroup.Items.Add(btnTool)
Return btnTool
End Function
'Create RibbonGroup
Private Function getRibbonGroup(ByVal igTabItem As RibbonTabItem, ByVal ribbonGroupCaption As String) As RibbonGroup
Dim ribbonGroup As New RibbonGroup()
ribbonGroup.Caption = ribbonGroupCaption
Dim toolHorizontalWrapPanel As New ToolHorizontalWrapPanel()
ribbonGroup.Items.Add(toolHorizontalWrapPanel)
igTabItem.RibbonGroups.Add(ribbonGroup)
Return ribbonGroup
End Function