在ListView-GridView - WPF中没有得到水平滚动

时间:2015-02-05 17:23:10

标签: wpf xaml listview expander

我没有对任何布局应用任何绝对宽度。 我在扩展器中有ListView。 ListView-GridView有许多列(以及数据) - 足以显示水平滚动查看器。 但水平卷轴不会出现。

以下是XAML:

<Window x:Class="TrialCommand.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" >

    <Grid ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition  Width="auto"/>
            <ColumnDefinition  Width="auto"/>
        </Grid.ColumnDefinitions>

        <Expander  Grid.Column="0" ExpandDirection="Left">
            <Button Width="200" Content="Button1"/>
        </Expander>

        <Grid Grid.Column="1" ShowGridLines="True">
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"></RowDefinition>
                <RowDefinition Height="auto"></RowDefinition>
            </Grid.RowDefinitions>

            <Button Grid.Row="0" Width="100" Height="20" Content="Button2"  HorizontalAlignment="Left"/>

            <Expander Header="EXP" Grid.Row="1" >
                <ListView ItemsSource="{Binding Data}">
                    <ListView.View>
                        <GridView>
                            <GridViewColumn Header="Name " DisplayMemberBinding="{Binding Name }"></GridViewColumn>
                            <GridViewColumn Header="Column1" DisplayMemberBinding="{Binding Column1}"></GridViewColumn>
                            <GridViewColumn Header="Column2" DisplayMemberBinding="{Binding Column2}"></GridViewColumn>
                            <GridViewColumn Header="Column3" DisplayMemberBinding="{Binding Column3}"></GridViewColumn>
                            <GridViewColumn Header="Column4" DisplayMemberBinding="{Binding Column4}"></GridViewColumn>
                            <GridViewColumn Header="Column5" DisplayMemberBinding="{Binding Column5}"></GridViewColumn>
                            <GridViewColumn Header="Column6" DisplayMemberBinding="{Binding Column6}"></GridViewColumn>
                            <GridViewColumn Header="Column7" DisplayMemberBinding="{Binding Column7}"></GridViewColumn>
                            <GridViewColumn Header="Column8" DisplayMemberBinding="{Binding Column8}"></GridViewColumn>
                            <GridViewColumn Header="Column11" DisplayMemberBinding="{Binding Column11}"></GridViewColumn>
                            <GridViewColumn Header="Column12" DisplayMemberBinding="{Binding Column12}"></GridViewColumn>
                            <GridViewColumn Header="Column13" DisplayMemberBinding="{Binding Column13}"></GridViewColumn>
                            <GridViewColumn Header="Column14" DisplayMemberBinding="{Binding Column14}"></GridViewColumn>
                            <GridViewColumn Header="Column15" DisplayMemberBinding="{Binding Column15}"></GridViewColumn>
                            <GridViewColumn Header="Column16" DisplayMemberBinding="{Binding Column16}"></GridViewColumn>
                            <GridViewColumn Header="Column17" DisplayMemberBinding="{Binding Column17}"></GridViewColumn>
                            <GridViewColumn Header="Column18" DisplayMemberBinding="{Binding Column18}"></GridViewColumn>
                            <GridViewColumn Header="Column21" DisplayMemberBinding="{Binding Column21}"></GridViewColumn>
                            <GridViewColumn Header="Column22" DisplayMemberBinding="{Binding Column22}"></GridViewColumn>
                            <GridViewColumn Header="Column23" DisplayMemberBinding="{Binding Column23}"></GridViewColumn>
                            <GridViewColumn Header="Column24" DisplayMemberBinding="{Binding Column24}"></GridViewColumn>
                            <GridViewColumn Header="Column25" DisplayMemberBinding="{Binding Column25}"></GridViewColumn>
                            <GridViewColumn Header="Column26" DisplayMemberBinding="{Binding Column26}"></GridViewColumn>
                            <GridViewColumn Header="Column27" DisplayMemberBinding="{Binding Column27}"></GridViewColumn>
                            <GridViewColumn Header="Column28" DisplayMemberBinding="{Binding Column28}"></GridViewColumn>
                        </GridView>
                    </ListView.View>
                </ListView>
            </Expander>
        </Grid>

    </Grid>
</Window>

enter image description here

如何为Listview带来水平滚动视图?

1 个答案:

答案 0 :(得分:0)

当容器大小设置为&#34;自动&#34;时,它会扩展以匹配其内容的大小,并且可能会超出父窗口而不显示任何滚动条。

如您所述,解决方案是将非自动大小设置为容器。这可能是Grid列的比例大小(ColumnDefinition Width =&#34; *&#34;)或任何其他方式使容器尊重父窗口度量。