Domanda

Sto cercando di programmare un evento ListBoxItem Selected nel codice perché ho bisogno di ListBoxItems dinamico . Sto scrivendo questo codice in wpf, il seguente xaml funziona alla grande:

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

Il Selected = " ListBoxItem_Selected " funziona bene.

Ma quando provo a creare ListBoxItem nel codice, non funziona. Ecco il mio codice:

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);

Voglio solo indirizzare all'evento ListBoxItem_Selected (mittente oggetto, RoutedEventArgs e) quando qualcuno sta selezionando un elemento.

È stato utile?

Soluzione

Intendi come collegare l'evento? Questo dovrebbe farlo (supponendo che la firma della funzione sia compatibile con la firma del gestore eventi).

itemBox.Selected += ListBoxItem_Selected;

Altri suggerimenti

Prova a cambiare

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

a

itemBox.Selected += ListBoxItem_Selected;

Suppongo che ListBoxItem_Selected sia dichiarato in questo modo

 public void ListBoxItem_Selected(object sender,RoutedEventArgs e)
 {

 }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top