首页 > 解决方案 > 为选定的树视图项目显示不同的视图

问题描述

我正在尝试使用树视图构建帮助模块,目标是根据选定的树视图项目在红框中显示不同的视图。我该怎么做呢?

在此处输入图像描述

这是我拥有的所有代码:

<Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>


        <TreeView Margin="2" Width="250" HorizontalAlignment="Left" Height="auto" IsEnabled="True" FontSize="20">
            <TreeViewItem Header="Introduction">

            </TreeViewItem>
            <TreeViewItem Header="Logging in" Margin="0,10,0,0">
                <TreeViewItem Header="Changing Password" Margin="0,10,0,0"/>
            </TreeViewItem>
            <TreeViewItem Header="Home" Margin="0,10,0,0">
                <TreeViewItem Header="Dashboard Elements" Margin="0,10,0,0"/>
                <TreeViewItem Header="Parking Spots" Margin="0,10,0,0" />
                <TreeViewItem Header="Docking Spots"  Margin="0,10,0,0"/>
            </TreeViewItem>
            <TreeViewItem Header="Log Table" Margin="0,10,0,0"/>
            <TreeViewItem Header="Security" Margin="0,10,0,0">
                <TreeViewItem Header="Domestic Trucks" Margin="0,10,0,0"/>
                <TreeViewItem Header="International Trucks" Margin="0,10,0,0"/>
            </TreeViewItem>
            <TreeViewItem Header="Administration" Margin="0,10,0,0" Visibility="{Binding Source={x:Static model:ViewModel.CurrentUser}, Path=IsAdmin, Converter={StaticResource My.Converter.BoolToHidden}}">
                <TreeViewItem Header="Permissions" Margin="0,10,0,0"/>
                <TreeViewItem Header="Editing a User" Margin="0,10,0,0"/>
                <TreeViewItem Header="Adding a new company" Margin="0,10,0,0"/>
            </TreeViewItem>

        </TreeView>



    </Grid>

标签: wpf

解决方案


我真的认为这Control没有达到你的预期。我宁愿使用 Markdown 创建帮助文件并将其保存到html,pdfxps. 当用户点击帮助按钮时,您可以打开此文档。IMO“硬编码”帮助模块不是一个好主意。

但是要以任何方式回答您的问题,您可以这样做:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <TreeView x:Name="TreeView_TOC">
        <TreeViewItem Header="Chapeter 1">
            <TreeViewItem.Tag>
                <TextBlock Text="Your Content goes here" />
            </TreeViewItem.Tag>
        </TreeViewItem>
    </TreeView>

    <ContentControl Grid.Column="1" 
                    Content="{Binding ElementName=TreeView_TOC, Path=SelectedItem.Tag, Mode=OneWay}"/>

</Grid>

快乐记录

蒂姆


推荐阅读