Programme C # sélectionné Evénement dans le code
-
06-07-2019 - |
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.
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)
{
}