選択された項目を取得する

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

''' <summary>
''' 選択項目変更時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
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#の例

 

/// <summary>
/// 選択項目変更時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TreeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    // 選択された項目を取得する
    TreeViewItem selectedItem = (TreeViewItem)TreeView1.SelectedItem;

    // 選択項目のラベルをテキストブロックに表示する
    TextBlock1.Text = "選択項目:" + selectedItem.Header;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください