現在選択されている項目を取得するには、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; }