動的に項目を追加する

スポンサーリンク

ツリービューにルート項目を追加する場合はTreeViewクラスItemsプロパティが持つAddメソッドを使用し、子項目を追加する場合はTreeViewItemクラスItemsプロパティが持つAddメソッドを使用します。

下記は[追加]ボタンがクリックされた時に、ルート項目に子項目を追加する例です。

動的に項目を追加する例

 

XAMLの例(WPFの場合)

<DockPanel LastChildFill="True">
    <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="3">
        <TextBlock Text="追加項目名:"/>
        <TextBox Name="TextBox1" Width="100" />
        <Button Name="Button1" Content="追加"/>
    </StackPanel>
    <TreeView>
        <TreeViewItem Name="rootItem" Header="親" />
    </TreeView>
</DockPanel>

XAMLの例(Silverlightの場合)

<TextBlock Height="23" HorizontalAlignment="Left" Margin="12,49,0,0" 
           Text="追加項目名:" VerticalAlignment="Top" />
<TextBox Height="24" HorizontalAlignment="Left" Margin="84,45,0,0" 
         VerticalAlignment="Top" Width="120" Name="TextBox1" />
<Button Content="追加" Height="23" HorizontalAlignment="Left" 
        Margin="210,45,0,0" VerticalAlignment="Top" 
        Width="51" Name="Button1" />
<sdk:TreeView Height="200" HorizontalAlignment="Left" Margin="10,78,0,0" 
              VerticalAlignment="Top" Width="251">
    <sdk:TreeViewItem Header="親" Name="rootItem"/>
</sdk:TreeView>

VBの例

''' <summary>
''' [追加]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Dim newItem As New TreeViewItem

    '追加する子項目のラベルを設定
    newItem.Header = TextBox1.Text
    'ルート項目に子項目を追加
    rootItem.Items.Add(newItem)
End Sub

C#の例

/// <summary>
/// [追加]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button1_Click(object sender, RoutedEventArgs e)
{
    TreeViewItem newItem = new TreeViewItem();

    // 追加する子項目のラベルを設定
    newItem.Header = TextBox1.Text;
    // ルート項目に子項目を追加
    rootItem.Items.Add(newItem);
}
タイトルとURLをコピーしました