我有一个带有 DataTemplate 的 ListBox,如下所示:
<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");