VerticalAlignment =“Stretch”伸展出我的容器

时间:2011-10-17 15:44:21

标签: wpf xaml

我有一个父容器,用于容纳我的所有用户控件。问题是我使用VerticalAlignment="Stretch"将内容拉伸到完整高度并获得一个垂直滚动条,用户控件被拉得太大。出现垂直滚动条但无法滚动。我知道这一点,因为滚动条的向下箭头不可见。

我有<ContentControl Content="{Binding Workspace}" />,可以分配各种控件。例如,这里的XAML在伸展方面不起作用。

<StackPanel>
    <TextBlock Text="{Binding FoundCount}" FontSize="13" Foreground="#666" Margin="0 0 0 8" />
    <ScrollViewer VerticalAlignment="Stretch">
        <TreeView 
        ItemsSource="{Binding Listing}"
        Grid.Row="1" 
        BorderThickness="0" 
        VirtualizingStackPanel.IsVirtualizing="True" />
    </ScrollViewer>
</StackPanel>

我只想让TreeView拉伸并显示垂直滚动条。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我怀疑StackPanel的高度没有受到约束,因此它会增长以适应ScrollViewer。您可以通过在StackPanel上放置边框来检查这一点。

    <Border>
        <StackPanel>   
            <TextBlock Text="{Binding FoundCount}" FontSize="13" Foreground="#666" />   
            <ScrollViewer VerticalAlignment="Stretch">   
                <TreeView ItemsSource="{Binding Listing}"  BorderThickness="0"    
                VirtualizingStackPanel.IsVirtualizing="True" />   
            </ScrollViewer>   
        </StackPanel>          
    </Border>