1

我正在使用一个类如下:

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类型,......这怎么能做到?

4

1 回答 1

4
  1. 使用TreeView.ItemContainerStyle绑定IsExpanded到项目的属性。
  2. 在您的项目上实施ExpandSubtree(它需要做的就是将项目上的绑定属性设置为true递归)。
于 2012-08-24T21:24:11.000 回答