我没有对任何布局应用任何绝对宽度。 我在扩展器中有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>
如何为Listview带来水平滚动视图?
答案 0 :(得分:0)
当容器大小设置为&#34;自动&#34;时,它会扩展以匹配其内容的大小,并且可能会超出父窗口而不显示任何滚动条。
如您所述,解决方案是将非自动大小设置为容器。这可能是Grid列的比例大小(ColumnDefinition Width =&#34; *&#34;)或任何其他方式使容器尊重父窗口度量。