Handler hinzufügen, um Dynamisch erzeugten Context-Menü

Ich Auffüllen müssen ein Kontextmenü aus einer Datenbank zur Laufzeit. Ich weiß nicht, die Anzahl der Elemente in der Liste, also würde ich gerne behandeln des click-Ereignisses an einer einzigen Stelle. Wie kann ich erklären, die handler, so kann ich sagen, welcher Menüpunkt eigentlich der Auslöser für den Klick.

Public Function GetBookmarkContextMenu(ByVal aBookmark As Bookmark) As System.Windows.Controls.ContextMenu

    Dim myContextMenu As New Controls.ContextMenu
    myContextMenu.Name = "BookmarkMenu" 

             For Each aMailingList As MasterService.FalconBookmarkMailingListType In GlobalUserSettings.MailingLists

                Dim mySubMenuItem As New Controls.MenuItem
                mySubMenuItem.Name = "MailingListName" & aMailingList.ID.ToString
                mySubMenuItem.Header = aMailingList.Title
                AddHandler (myMenuItem.Click), AddressOf ForwardToList_Click
                mySubMenuItem.IsEnabled = True
                myMenuItem.Items.Add(mySubMenuItem)
            Next
            myContextMenu.Items.Add(myMenuItem)

            return myContextMenu
End Function

Public Sub ForwardToList_Click()
    'How do I know which of the dynamically created items was clicked?
End Sub

InformationsquelleAutor user38349 | 2008-11-17

Schreibe einen Kommentar