树形视图不拉伸

3
我有一个简单的应用程序,其中包括一个 Treeview 和一个主要内容区域在网格中。该网格具有网格分隔器进行调整大小,但这不会调整 Treeview 的大小。

enter image description here

我已经读到这是一个 bug,

但最简单的方法是什么来重新调整 Treeview 的大小?

<Window x:Class="TestGridSplitter.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto"/>
        <ColumnDefinition Width="5"/>
        <ColumnDefinition />                              
    </Grid.ColumnDefinitions>
    <TreeView Grid.Column="0">
        <TreeViewItem>
            My Treeview
        </TreeViewItem>
    </TreeView>
    <GridSplitter Grid.Column="1" Width="5"/>
    <TextBlock Grid.Column="2">
        Main Content Area
    </TextBlock>
</Grid>

将水平对齐或内容对齐设置为Stretch无效!

2个回答

3
此外,还需要设置GridSplitter的其他属性,如ResizeDirection="Columns"ResizeBehavior="PreviousAndNext"属性。例如:
<GridSplitter Grid.Column="1" Width="5" ResizeDirection="Columns"  
                                 ResizeBehavior="PreviousAndNext"/>

1
尝试下一个方法:

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

    <StackPanel Grid.Column="0" Background="#feca00">
        <TextBlock FontSize="35" Foreground="#58290A" TextWrapping="Wrap">
          Left Hand Side
        </TextBlock>
    </StackPanel>

    <GridSplitter Width="4" Grid.Column="1" Background="Red" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>

    <Border Grid.Column="2" BorderBrush="#58290A" BorderThickness="5" CornerRadius="10">
        <TextBlock FontSize="25" Foreground="#FECA00" TextWrapping="Wrap">
          Right Hand Side
        </TextBlock>
    </Border>

</Grid> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接