带GridViewColumns的WPF ListView,不会一直滚动到右边?是否存在水平滚动限制?

时间:2015-08-14 23:05:22

标签: wpf listview

我有一个包含大约29列的ListView,其宽度在75到200之间。在查看数据时,如果向右水平滚动,则仍然无法到达最后6列。您可以调整先前列的大小,并查看其他列确实存在。好像有某种滚动宽度限制或什么?有没有人对此有所了解?我从来没有想过这么多专栏,但我正在创作它的人想要它们。

3 个答案:

答案 0 :(得分:1)

显然我还不能发表评论,但我们需要一些代码来看看你是否以错误的方式声明了某些内容,需要另外一个控件或其他什么。考虑到ScrollViewer默认情况下不应该继承属性,XAML可能就足够了,也许不行。

但是,您应该查看ScrollViewer的ScrollabeWidth属性,该属性包含通过内容的最大可滚动宽度,尽管它没有默认值并且应该可以容纳自己。

答案 1 :(得分:1)

您是否测试过以下代码(参考:this answer)? :

<Window x:Class="alternatingGridRow.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="200" Width="Auto">

<ScrollViewer x:Name="scrollviewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
    <Grid x:Name="LayoutRoot" ShowGridLines="True" MinWidth="500" Width="{Binding ActualWidth, ElementName=scrollviewer}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" MinHeight="23" MaxHeight="60"/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*"/>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
        </Grid.ColumnDefinitions>
            <TextBlock HorizontalAlignment="Stretch" Text="sdasdasdasdsadsadasddasdck" TextWrapping="Wrap" VerticalAlignment="Top" />
            <TextBlock Foreground="Red" Grid.Column="1" HorizontalAlignment="Stretch" Text="sdasdasdasdsadsadasddasdck" TextWrapping="Wrap" VerticalAlignment="Top" />
    </Grid>
</ScrollViewer>

</Window>

注意:请始终在您的问题中插入您的代码(需要代码)。它可以帮助其他人为您提供更好的解决方案。

答案 2 :(得分:0)

原来是设计师的意外。我选择了整个UserControl,它选择了第一个子Grid。至少那是我之前发生的事情,似乎就是这种情况。因此它为网格添加了一个比UserControl本身更宽的边距,并且因为它被托管在另一个控件中,所以我无法看到溢出来发现问题。数字表明这很简单。叹。我以为我通过了这些障碍,哈哈。感谢您的回复。