Question

J'essaie de programmer un événement ListBoxItem sélectionné dans le code car j'ai besoin de ListBoxItems dynamique. Je code ceci dans wpf, le xaml suivant fonctionne très bien:

<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 correctement.

Mais lorsque j'essaie de créer le ListBoxItem dans le code, 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 souhaite simplement acheminer vers l'événement ListBoxItem_Selected (expéditeur de l'objet, RoutedEventArgs e) lorsque quelqu'un sélectionne un élément.

Était-ce utile?

La solution

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

itemBox.Selected += ListBoxItem_Selected;

Autres conseils

Essayez de changer

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

à

itemBox.Selected += ListBoxItem_Selected;

Je suppose que votre ListBoxItem_Selected est déclaré comme ceci

 public void ListBoxItem_Selected(object sender,RoutedEventArgs e)
 {

 }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top