Отображение другого вида для выбранного элемента дерева - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать модуль справки с древовидным представлением, и цель состоит в том, чтобы в окне «Redbox» отображалось другое представление в зависимости от выбранного элемента древовидной структуры. как бы я go собирался это сделать?

enter image description here

Это весь код, который у меня есть:

<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>

1 Ответ

0 голосов
/ 12 марта 2020

Я действительно думаю, что это Control не делает то, что вы ожидаете. Я бы предпочел использовать Markdown, чтобы создать файл справки и сохранить его в html, pdf или xps. Вы можете открыть этот документ, когда пользователь нажмет кнопку справки. ИМО - не очень хорошая идея «жестко кодировать» модуль справки.

Но чтобы ответить на ваш вопрос любым способом, вы можете сделать это следующим образом:

<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>

Счастливое документирование

Тим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...