简体   繁体   English

展开树状视图中的特定项目

[英]Expand specific item in treeview

How can I expand an item existing in a TreeView using code behind? 如何使用后面的代码扩展TreeView现有的项目? For example, when I click in my menu I can expand the specific item in my TreeView . 例如,当我单击菜单时,可以在TreeView展开特定的项目。

private void MenuItem_Click(object sender, RoutedEventArgs e)
    {
        // expand the 3rd item in my treeview
    }

code in XAML : XAML中的代码:

<TreeView Height="525" HorizontalAlignment="Left" Margin="2,47,0,0" Name="treeView1" VerticalAlignment="Top" Width="168" FontFamily="Times New Roman" FontSize="12">
        <TreeViewItem Header="PL3 Line 1" IsExpanded="False">
            <TreeViewItem Selected="TreeViewItem_Selected">
                <TreeViewItem.Header>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="/MonitoringSystemOfficeArea;component/Images/Computer.png" Height="22" Width="26"></Image>
                        <Label Content="Live Update" Width="70"></Label>
                    </StackPanel>
                </TreeViewItem.Header>
            </TreeViewItem>
            <TreeViewItem Selected="TreeViewItem_Selected_1">
                <TreeViewItem.Header>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="/MonitoringSystemOfficeArea;component/Images/Calender.png" Height="24" Width="27"></Image>
                        <Label Content="Archives" Width="70"></Label>
                    </StackPanel>
                </TreeViewItem.Header>
            </TreeViewItem>
            <TreeViewItem Selected="TreeViewItem_Selected_100">
                <TreeViewItem.Header>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="/MonitoringSystemOfficeArea;component/Images/Aha-Soft-Large-Calendar-Calendar.ico" Height="24" Width="27"></Image>
                        <Label Content="Archives / days" Width="88"></Label>
                    </StackPanel>
                </TreeViewItem.Header>
            </TreeViewItem>
        </TreeViewItem>
        <TreeViewItem Header="PL7 Line 2" IsExpanded="False">

...... and so on ...... 等等

You can use ExpandSubtree method ( msdn ): 您可以使用ExpandSubtree方法( msdn ):

TreeViewItem.ExpandSubtree Method TreeViewItem.ExpandSubtree方法

Expands the TreeViewItem control and all its child TreeViewItem elements. 展开TreeViewItem控件及其所有子TreeViewItem元素。

private void MenuItem_Click(object sender, RoutedEventArgs e)
{
    // expand the 3rd item and all its child in treeview      
    TreeViewItem tvi = treeView1.Items[2] as TreeViewItem;
    if (tvi != null)
    {
        tvi.ExpandSubtree();
    }
}

If you want to expand only main item you should use IsExpanded property ( msdn ). 如果只想扩展主要项目,则应使用IsExpanded属性( msdn )。

private void MenuItem_Click(object sender, RoutedEventArgs e)
{
    // expand the 3rd item in treeview      
    TreeViewItem tvi = treeView1.Items[2] as TreeViewItem;
    if (tvi != null)
    {
        tvi.IsExpanded = true;
    }
}

If you want to collapse the item set IsExpanded to false: 如果要折叠项目,请将IsExpanded设置为false:

private void MenuItem_Click(object sender, RoutedEventArgs e)
{
    // collapse the 3rd item in treeview      
    TreeViewItem tvi = treeView1.Items[2] as TreeViewItem;
    if (tvi != null)
    {
        tvi.IsExpanded = false;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM