2012-03-24 8 views
1

Ich habe einen Menüpunkt, zu dem ich ein anderes Element hinzufügen. Jetzt möchte ich dem neu hinzugefügten Element ein click-Ereignis zuweisen. Wie könnte ich das tun? Unten ist, wie ich einen Menüpunkt hinzufüge.Click Ereignis für neu hinzugefügten Menüpunkt

MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName)); 

Antwort

1

Erstellen Sie einfach eine neue Instanz der MenuItem Klasse und abonnieren Sie die Click Veranstaltung:

MenuItem newMenuItem = new MenuItem(); 
newMenuItem.Header = System.IO.Path.GetFullPath(ofd.FileName); 
newMenuItem.Click += MenuItemOnClick; // The handler. 
MI.Items.Add(newMenuItem); 
0

Add gibt eine ganze Zahl mit dem Index des Elements angibt, hinzugefügt haben, können Sie das Element der Sammlung zugreifen diesen Index verwenden und damit zu einem Ereignis abonnieren, so dass Sie würde so etwas zu tun haben:

var index = MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName)); 
((UIElement)MI.Items.GetItemAt(index)).MouseLeftButtonUp += OnMenuItemMouseUp; 

void OnMenuItemMouseUp (object sender, MouseButtonEventArgs e) { 

} 
0

die MenuItem durch seinen Index Erhalten und den Event-Handler mit der += Syntax anhängen:

int itemIndex = MI.Items.Add(System.IO.Path.GetFullPath(ofd.FileName)); 
MenuItem item = MI.Items[itemIndex] as MenuItem; 
item.Click += new RoutedEventHandler(Item_Click); 
Verwandte Themen