以编程方式引用ItemsControl从后面的代码中呈现的项目

时间:2010-07-13 00:14:23

标签: c# silverlight xaml silverlight-4.0 code-behind

我有一个包含ItemsControl的Silverlight用户控件,该控件呈现StackPanel包含数据源中每个项目的另一个用户控件,XAML如下:

<Grid x:Name="LayoutRoot">
    <ItemsControl ItemsSource="{Binding}" x:Name="ValuesItemSource">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel x:Name="ValuesPanel" Background="Transparent" Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <controls:MyCustomControl DataContext="{Binding}"  x:Name="Value" />
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Grid>

如何在此用户控件的代码中引用MyCustomControls s)的集合?

(我在这个控件后面的代码中注册了一个事件处理程序,我希望在事件触发时调用每个“MyCustomControl”的方法)

1 个答案:

答案 0 :(得分:1)

您需要询问itemsControl.ItemContainerGenerator。有关示例,请参阅here