мое приложение Silverlight 4 содержит древовидную структуру.Я настроил внешний вид TreeViewItems с помощью HierarchicalDataTemplate:
<sdk:TreeView x:Name="TreeViewModel" ItemTemplate="{StaticResource DataTemplateTreeViewDisplayObjects}" .../>
<sdk:HierarchicalDataTemplate x:Key="DataTemplateTreeViewDisplayObjects" ItemsSource="{Binding Children}">
<Grid>
<Border x:Name="BorderComponent" .../>
</Grid>
</sdk:HierarchicalDataTemplate>
В конце концов мне нужно проанализировать все TreeViewItems и получить доступ к UIElement (то есть «BorderComponent»).Примерно так:
foreach (TreeViewItem tvi in _myTreeView.Items)
tvi.BorderComponent.Visibility = Visibility.Collapsed
Очевидно, это не сработает, потому что Items вернет связанный объект.И даже если бы я мог получить доступ к TreeViewItem (_myTreeView.ItemContainerGenerator.ContainerFromIndex (0) как TreeViewItem, чтобы получить первый), я не знаю, как получить доступ к границе, потому что TreeViewItem не знает о HierarchicalDataTemplate, то естьиспользуется для создания элементов.
Есть идеи, как мне получить доступ к элементу "BorderComponent" в каждом TreeViewItem?
Заранее спасибо,
Франк