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 に答える