2009-10-26 6 views
0

J'essaye de programmer un événement ListBoxItemSelected en code parce que j'ai besoin de ListBoxItems dynamique. Je code cela dans WPF, le XAML suivant fonctionne très bien:C# programme sélectionné Événement dans le code

<ListBoxItem Tag="cPage_Mod_Modules" Selected="ListBoxItem_Selected"> 
    <StackPanel Orientation="Horizontal"> 
     <TextBlock Style="{StaticResource sColor01}" Text="» " /> 
     <TextBlock Text="Moduler" VerticalAlignment="Center" Focusable="True" /> 
    </StackPanel> 
</ListBoxItem> 

Le Selected="ListBoxItem_Selected" fonctionne très bien.

Mais lorsque j'essaie de créer le code ListBoxItem, cela ne fonctionne pas. Voici mon code:

IList<ListBoxItem> lbi = new List<ListBoxItem>(); 
ListBoxItem itemBox = new ListBoxItem(); 
itemBox.Tag = "cPage_Assignment_Overview"; 
itemBox.Selected += new EventHandler(ListBoxItem_Selected(this, null)); 
lbTask.Items.Add(itemBox); 

Je veux juste la route à l'événement ListBoxItem_Selected(object sender, RoutedEventArgs e) lorsque quelqu'un sélectionne un élément.

Répondre

1

Voulez-vous dire comment câbler l'événement? Cela devrait le faire (en supposant que la signature de la fonction est compatible avec la signature du gestionnaire d'événements).

itemBox.Selected += ListBoxItem_Selected; 
+0

il travaille maintenant grâce – Tan

1

Essayez de changer

itemBox.Selected += new EventHandler(ListBoxItem_Selected(this, null)); 

à

itemBox.Selected += ListBoxItem_Selected; 

Je suppose votre ListBoxItem_Selected est déclarée comme celui-ci

public void ListBoxItem_Selected(object sender,RoutedEventArgs e) 
{ 

} 
Questions connexes