XAML TreeView Расширять по вертикали - PullRequest
1 голос
/ 15 июля 2010

Я бы хотел, чтобы представленное ниже дерево развернулось, чтобы заполнить текущую строку, в которой оно содержится, однако я не могу понять, как это сделать.Он просто расширяется, чтобы соответствовать элементам дерева.Можно ли это сделать, и если да, то как?

Спасибо

<Window x:Class="WorkoutUI.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Name="Window" Height="350" Width="525">
    <Grid Name="Root_Grid">
        <Grid.RowDefinitions>
            <RowDefinition Height="10" />
            <RowDefinition Height="*" Name="Root_Grid_Row_2" />
            <RowDefinition Height="10" />            
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="150" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="5" />
        </Grid.ColumnDefinitions>

        <TreeView Grid.Column="1" Grid.Row="1" VerticalAlignment="Top" VerticalContentAlignment="Stretch" Width="{Binding Width, ElementName=Root_Grid, Mode=Default}">
            <TreeViewItem Header="Workouts" IsExpanded="True">
                <TreeViewItem Header="Workout1" />
                <TreeViewItem Header="Workout2" />
                <TreeViewItem Header="Workout3" IsExpanded="True">
                    <TreeViewItem Header="WorkoutSub1" />
                    <TreeViewItem Header="WorkoutSub2" />
                    <TreeViewItem Header="WorkoutSub3" />
                </TreeViewItem>    
                <TreeViewItem Header="Workout4" />
                <TreeViewItem Header="Workout5" />
                <TreeViewItem Header="Workout6" />                
            </TreeViewItem>            
        </TreeView>
    </Grid>
</Window>

1 Ответ

2 голосов
/ 15 июля 2010

У вас есть VerticalAlignment="Top", что означает, что TreeView будет только таким высоким, как он хочет, и будет размещен в верхней части доступного пространства.Вы хотите установить VerticalAlignment на Растянуть, чтобы он занимал все доступное вертикальное пространство.Поскольку это значение по умолчанию, вы можете просто удалить атрибут:

<TreeView Grid.Column="1" Grid.Row="1" Width="{Binding Width, ElementName=Root_Grid, Mode=Default}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...