Question: I am trying to change the Control template on a ListBoxItem when It is selected from the ListBox. To do so, I was going to get the selected ListBoxItem from the ListBox itself, and set the control template on that. How would i go about doing this? I have tried, SelectedItem and that returns the bound object within the ListBoxItem.

Answer: 
You can retrieve the item container from the bound item by using the `ItemContainerGenerator` :

```
object selectedItem = listBox.SelectedItem;
ListBoxItem selectedListBoxItem = listBox.ItemContainerGenerator.ContainerFromItem(selectedItem) as ListBoxItem;

```
Now you can do it with this:

```
ListBoxItem container = listBox.ContainerFromIndex(listBox.SelectedIndex) as ListBoxItem;

```

The `ItemContainerGenerator.ContainerFromItem()` function seems like [obsolete](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.itemcontainergenerator#Windows_UI_Xaml_Controls_ItemContainerGenerator_ContainerFromIndex_System_Int32_) now.

If you have set the Item Template for the ListBox then you can get it from 

```
UIElement item= container.ContentTemplateRoot;

```