2010-08-24 7 views
11

J'essaye de changer le modèle de Contrôle sur un ListBoxItem quand Il est sélectionné du ListBox. Pour ce faire, j'allais obtenir le ListBoxItem sélectionné de la ListBox lui-même, et définir le modèle de contrôle sur cela. Comment ferais-je cela? J'ai essayé, SelectedItem et cela renvoie l'objet lié dans le ListBoxItem.Récupère le ListBoxItem dans un ListBox

Répondre

20

Vous pouvez récupérer le conteneur d'éléments de l'élément lié à l'aide du ItemContainerGenerator:

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

Maintenant, vous pouvez le faire avec ceci:

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

La fonction ItemContainerGenerator.ContainerFromItem() semble être obsolete maintenant.

Si vous avez défini le modèle d'article pour la zone de liste vous pouvez l'obtenir à partir

UIElement item= container.ContentTemplateRoot; 
Questions connexes