現在選択されている項目を取得するには、TreeViewクラスのSelectedItemプロパティを使用します。
また、選択項目が変更されるとSelectedItemChangedイベントが発生します。
下記は、選択された項目をテキストブロックに表示する例です。
SelecteItemChangedイベント内で、選択された項目のHeaderプロパティをテキストブロックに表示します。
XAMLの例(WPFの例)
<DockPanel Name="DockPanel1" LastChildFill="True">
<TextBlock Name="TextBlock1" Margin="3" DockPanel.Dock="Bottom"/>
<TreeView Name="TreeView1" DockPanel.Dock="Top">
<TreeViewItem Header="親1">
<TreeViewItem Header="子1" />
<TreeViewItem Header="子2">
<TreeViewItem Header="孫1" />
<TreeViewItem Header="孫2" />
</TreeViewItem>
</TreeViewItem>
</TreeView>
</DockPanel>
XAMLの例(Silverlightの例)
<sdk:TreeView Height="200" HorizontalAlignment="Left"
Margin="12,44,0,0" VerticalAlignment="Top"
Width="251" Name="TreeView1">
<sdk:TreeViewItem Header="親">
<sdk:TreeViewItem Header="子1" />
<sdk:TreeViewItem Header="子2">
<sdk:TreeViewItem Header="孫1" />
<sdk:TreeViewItem Header="孫2" />
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeView>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="12,250,0,0"
Name="TextBlock1" Text="選択項目:" VerticalAlignment="Top" />
VBの例
' 選択項目変更時の処理
Private Sub TreeView1_SelectedItemChanged(ByVal sender As System.Object, ByVal e As System.Windows.RoutedPropertyChangedEventArgs(Of System.Object)) Handles TreeView1.SelectedItemChanged
'選択された項目を取得する
Dim selectedItem As TreeViewItem = TreeView1.SelectedItem
'選択項目のラベルをテキストブロックに表示する
TextBlock1.Text = "選択項目:" & selectedItem.Header
End Sub
C#の例
// 選択項目変更時の処理
private void TreeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
// 選択された項目を取得する
TreeViewItem selectedItem = (TreeViewItem)TreeView1.SelectedItem;
// 選択項目のラベルをテキストブロックに表示する
TextBlock1.Text = "選択項目:" + selectedItem.Header;
}
