Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从ItemsControl中的项访问同级?_C#_Silverlight_Silverlight 4.0_Itemscontrol - Fatal编程技术网

C# 如何从ItemsControl中的项访问同级?

C# 如何从ItemsControl中的项访问同级?,c#,silverlight,silverlight-4.0,itemscontrol,C#,Silverlight,Silverlight 4.0,Itemscontrol,我有一个ItemsControl: <StackPanel> <ItemsControl x:Name="TopicList"> <ItemsControl.ItemTemplate> <DataTemplate> <local:TopicListItem Title="{Binding Title}" LocationCloud="{Binding Locati

我有一个ItemsControl:

<StackPanel>
    <ItemsControl x:Name="TopicList">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <local:TopicListItem Title="{Binding Title}" LocationCloud="{Binding Locations}" TagCloudData="{Binding TagCloudData}" SparklineData="{Binding SparklineData}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</StackPanel>

然后我获取一些XML,并使用LINQ将其转换为
IEnumerable
,然后将其附加到
TopicList.ItemsSource
。如您所见,列表中唯一的元素是一个UseControl,我自己将其命名为
TopicListItem
。我希望能够从
TopicListItem.xaml.cs
文件中访问ItemsControl拥有的项目索引,以便在单击其中一个项目以执行打开操作时,可以关闭其余项目

谢谢你的帮助:)


(我试过手风琴和手风琴项目,对我的口味来说很僵硬:D)

我会自己回答,因为我在公司里得到了一些帮助

我这样做的方式是简单地访问ItemsControl元素并从
Items
属性获取集合

MainPage root = Application.Current.RootVisual as MainPage;
foreach(MyClass c in root.TopicList.Items) 
{
    // loop through them all and close/open conditionally
}
我希望这对其他人有帮助