如何在代码中访问Listbox CustomItem datacontext?

时间:2012-07-10 23:23:11

标签: wpf xaml data-binding datacontext listboxitem

如何在QuestionControl中访问问题实体?

            <ListBox ItemsSource="{Binding QuestionEntityList}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <my:QuestionControl x:Name="diskInfo" DataContext={?}/>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

2 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题。但是当列表框项目源是问题实体的集合时,每个项目的datacontext就是问题实体。因此,对于每个项目,列表框都会创建一个问号控件,并将datacontext设置为questionentity。

 <ListBox ItemsSource="{Binding QuestionEntityList}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <my:QuestionControl />//one questioncontrol for each item in the collection, the dataconext is set to this item automatically
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
   </ListBox>

答案 1 :(得分:0)

我解决了我的问题。 我尝试在UserControl初始化方法中访问绑定对象(实体),并且datacontext始终返回null。 我尝试使用usercontrol加载方法最终访问DataContext中的entiy:S

抱歉我的英语很差......