我使用的课程如下:
Class DirectoryViewItem
Property Namee As String
Property Iconn As BitmapImage
Property Path As String
Property SubNodes As New List(Of DirectoryViewItem)
End Class
我使用的xaml是:
<TreeView Name="DirectoryTreeView"
TreeViewItem.Expanded="DirectoryTreeView_Expanded"
Grid.Row="0">
<TreeView.ItemTemplate >
<HierarchicalDataTemplate ItemsSource="{Binding SubNodes}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Iconn}"
Width="32" Height="32"
VerticalAlignment="Center" HorizontalAlignment="Left" />
<TextBlock Text="{Binding Namee}"
VerticalAlignment="Center" HorizontalAlignment="Left" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
代码工作正常,现在我想通过代码扩展3或某个x节点,我发现解决方案使用这样的东西:
CType(DirectoryTreeView.Items(3), TreeViewItem).ExpandSubtree()
但是,我发现此处的CType
不是TreeViewItem
,而是我的DirectoryViewItem
类型,请您告诉我如何解决这个问题,我想我需要改变使用TreeViewItem.Header
的默认外观我可以显示项目以及执行扩展功能。你能告诉我怎么做吗?
谢谢。
答案 0 :(得分:3)
TreeView.ItemContainerStyle
将IsExpanded
绑定到商品的属性。ExpandSubtree
(所有需要做的就是将商品的绑定属性设置为true
递归)。