TreeView のノードは既定では折り畳まれた状態です。
この記事では TreeView のノードの展開方法について説明をします。
公式サイト情報はコチラを参照してください。
環境
開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
Framework | Microsoft .NET Framewohttps://blog.hiros-dot.net/?p=11007rk Version 4.8.04161 |
ノードの展開方法
ノードは、既定では折り畳まれた状態になっています。これを展開状態にするには、IsExpanded プロパティに True を設定します。
XAML の例
以下は、Folder1というコンテンツを持つノードを展開状態にする例です。
XAML の例
<Window x:Class="WinUISample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:WinUISample" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <StackPanel x:Name="myStackPanel" Orientation="Vertical" HorizontalAlignment="Left" > <TreeView> <TreeView.RootNodes> <TreeViewNode Content="File1" /> <TreeViewNode Content="Folder1" IsExpanded="True"> <TreeViewNode.Children> <TreeViewNode Content="File1" /> <TreeViewNode Content="File2" /> <TreeViewNode Content="File3" /> </TreeViewNode.Children> </TreeViewNode> <TreeViewNode Content="Folder2"> <TreeViewNode.Children> <TreeViewNode Content="FoldrerA"> <TreeViewNode.Children> <TreeViewNode Content="File1" /> <TreeViewNode Content="File2" /> <TreeViewNode Content="File3" /> </TreeViewNode.Children> </TreeViewNode> </TreeViewNode.Children> </TreeViewNode> </TreeView.RootNodes> </TreeView> </StackPanel> </Window>
C# の例
XAML と同様に C# でも TreeNode の IsExpanded プロパティにTrueを設定して、ノードを展開することができます。
public MainWindow() { this.InitializeComponent(); TreeView treeView = new TreeView(); TreeViewNode file1 = new TreeViewNode(); TreeViewNode folder1 = new TreeViewNode(); TreeViewNode folder1File1 = new TreeViewNode(); TreeViewNode folder1File2 = new TreeViewNode(); TreeViewNode folder1File3 = new TreeViewNode(); TreeViewNode folder2 = new TreeViewNode(); TreeViewNode folderA = new TreeViewNode(); TreeViewNode folderAFile1 = new TreeViewNode(); TreeViewNode folderAFile2 = new TreeViewNode(); TreeViewNode folderAFile3 = new TreeViewNode(); // 各子ノードのコンテンツを設定 file1.Content = "File1"; folder1.Content = "Folder1"; folder1File1.Content = "File1"; folder1File2.Content = "File2"; folder1File3.Content = "File3"; folder2.Content = "Folder2"; folderA.Content = "FolderA"; folderAFile1.Content = "File1"; folderAFile2.Content = "File2"; folderAFile3.Content = "File3"; // 子ノード folder1 を作成 folder1.Children.Add(folder1File1); folder1.Children.Add(folder1File2); folder1.Children.Add(folder1File3); // 孫ノード folderA 配下を作成 folderA.Children.Add(folderAFile1); folderA.Children.Add(folderAFile2); folderA.Children.Add(folderAFile3); // 子ノード folder2 を作成 folder2.Children.Add(folderA); // ノードを展開する例 folder1.IsExpanded = true; // ルートノードに子ノードを追加 treeView.RootNodes.Add(file1); treeView.RootNodes.Add(folder1); treeView.RootNodes.Add(folder2); // 作成した TreeView を StackPanel に追加 myStackPanel.Children.Add(treeView); }
WinUi Tips
本サイトでまとめている WinUI Tips の一覧はこちらから確認できます。
Please follow and like us:
コメント