0

次のような 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");
4

1 に答える 1