この記事では TreeView で選択されているノードを取得する方法について説明をします。
公式サイト情報はコチラを参照してください。
環境
| 開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
| Framework | Microsoft .NET Framewohttps://blog.hiros-dot.net/?p=11007rk Version 4.8.04161 |
選択されたノードを取得する
はじめに、TreeView でノードを選択できるようにする必要があります。SelectionMode に Single または Multiple を設定してください(詳しくは、ノードの選択モードを変更する を参照ください)。
TreeView で選択されたノードを取得するには SelectedNodes プロパティを参照します。
以下に、TreeView で選択されたノードを取得する例を示します。
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" >
<Button x:Name="myButton" Content="選択項目の取得" Click="myButton_Click"/>
<TextBlock x:Name="myTextBlock" />
<TreeView x:Name="myTreeView" SelectionMode="Multiple">
<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# では、ボタンのクリックイベント内で、TreeView で選択されたアイテムを取得しています。
SelectedNodes プロパティには、選択されているすべてのアイテムが入っていますので、foreach を使用して、すべて取得しています。
private void myButton_Click(object sender, RoutedEventArgs e)
{
var msg = "";
foreach (TreeViewNode tnd in myTreeView.SelectedNodes)
{
msg += $"{tnd.Content.ToString()}\n";
}
myTextBlock.Text = msg;
}
WinUi Tips
本サイトでまとめている WinUI Tips の一覧はこちらから確認できます。
Please follow and like us:


コメント