У меня есть ListBox с DataTemplate, который выглядит следующим образом:
<ListBox Name="listBox">
<ListBox.ItemTemplate>
<DataTemplate DataType="x:Type local:NumericIconDefinition">
<Grid>
<ComboBox Name="IconComboBox"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я хотел бы получить экземпляр ComboBox , чтобы манипулировать им в коде. Я нашел сообщение в блоге, которое объясняет процесс получения ListBoxItem:
ListBoxItem lbi = (ListBoxItem)listBox.ItemContainerGenerator.ContainerFromIndex(IndexInListBox);
Но я не могу найти хороший способ доступа к Grid, а затем к экземплярам ComboBox в этом элементе. В идеале, основываясь на приведенном выше коде, я хотел бы сделать что-то вроде этого:
ComboBox cb = (ComboBox)lbi.GetChildByName("IconComboBox");