【发布时间】:2012-01-19 11:34:31
【问题描述】:
我的 Silverlight 4 应用程序包含一个树形视图。我使用 HierarchicalDataTemplate 自定义了 TreeViewItems 的外观:
<sdk:TreeView x:Name="TreeViewModel" ItemTemplate="{StaticResource DataTemplateTreeViewDisplayObjects}" .../>
<sdk:HierarchicalDataTemplate x:Key="DataTemplateTreeViewDisplayObjects" ItemsSource="{Binding Children}">
<Grid>
<Border x:Name="BorderComponent" .../>
</Grid>
</sdk:HierarchicalDataTemplate>
最终,我需要解析所有 TreeViewItem 并访问 UIElement(即“BorderComponent”)。像这样:
foreach (TreeViewItem tvi in _myTreeView.Items)
tvi.BorderComponent.Visibility = Visibility.Collapsed
显然这不起作用,因为 Items 将返回绑定对象。即使我可以访问 TreeViewItem(_myTreeView.ItemContainerGenerator.ContainerFromIndex(0) 作为 TreeViewItem 来获取第一个),我也不知道如何访问边框,因为 TreeViewItem 不知道 HierarchicalDataTemplate,即用于创建项目。
知道如何访问每个 TreeViewItem 中的“BorderComponent”项吗?
提前致谢,
弗兰克
【问题讨论】:
标签: c# silverlight xaml treeview treeviewitem