I hope your markup is like below:
ListBoxItems being instances of user control. Attach the selection changed event handler like below.
<ListBox x:Name="items" SelectionMode="Single" SelectionChanged="listboxselectionchanged" >
<ListBoxItem><UserControl></UserControl></ListBoxItem>
<ListBoxItem><UserControl></UserControl></ListBoxItem>
<ListBoxItem><UserControl></UserControl></ListBoxItem>
<ListBoxItem><UserControl></UserControl></ListBoxItem>
</ListBox>
And in the selectionchanged event handler, access the listbox like below.
private void listboxselectionchanged(object sender, SelectionChangedEventArgs args)
{
ListBoxItem item = ((sender as ListBox).SelectedItem as ListBoxItem);
//The item should be casted to your user control type.
}
Or you could have them in ItemTemplate,
<ListBox x:Name="items">
<ListBox.ItemTemplate>
<DataTemplate>
<ns:usercontrolname DataContext="{Binding}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Then access the selecteditem from the containerfromItem method.
ListBoxItem selectedItem = (ListBoxItem)(lbname.ItemContainerGenerator.ContainerFromItem(lbname.Items.CurrentItem));
Hope this helps.