Как я могу получить доступ к братьям и сестрам из Item внутри ItemsControl?
У меня есть 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 и превращаю его в IEnumerable<ListObj>
используя LINQ, который затем присоединяется к TopicList.ItemsSource
, Как вы видите, единственный элемент в списке - это UseControl, который я сам назвал TopicListItem
, Я хочу иметь возможность получить доступ к индексу элементов, который имеет ItemsControl из TopicListItem.xaml.cs
файл, так что, когда я нажимаю на один из них, чтобы выполнить открытое действие, я могу закрыть остальные.
Спасибо за помощь:)
(и я попробовал Accordion и AccordionItems, на мой вкус:D)
1 ответ
Я отвечу на это сам, так как я получил некоторую помощь в компании.
Я сделал так, чтобы просто получить доступ к элементу ItemsControl и получить коллекцию из Items
имущество.
MainPage root = Application.Current.RootVisual as MainPage;
foreach(MyClass c in root.TopicList.Items)
{
// loop through them all and close/open conditionally
}
Я надеюсь, что это поможет кому-либо еще.