【问题标题】:Scroll never appears in ListView滚动永远不会出现在 ListView
【发布时间】:2016-02-03 16:31:46
【问题描述】:
    <Grid>  
<Grid.RowDefinitions>
                            <RowDefinition Height="Auto" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
          <ListView  Grid.Row="1" Margin="0" Background="Transparent"  ItemsSource="{Binding Path=HistoryList, Mode=OneWay}"  Name="leftPanelScrollViewer" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                                    <ListView.ItemTemplate>
                                        <DataTemplate>
                                            <Border Background="{Binding Background}" Tag="{Binding Id}" ContextMenuOpening="FrameworkElement_OnContextMenuOpening" ContextMenuClosing="FrameworkElement_OnContextMenuClosing" ContextMenuService.HasDropShadow="True" ContextMenuService.Placement="Bottom" ContextMenuService.PlacementTarget="{Binding ElementName=PersonNameHistoryItem}"  Padding="10 80" CornerRadius="3" BorderThickness="0" Margin="5,0,5,5" MouseLeftButtonUp="Item_OnMouseDown">
                                                <Grid Background="Transparent">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="Auto" />
                                                        <ColumnDefinition  />
                                                    </Grid.ColumnDefinitions>
                                                    <Image Grid.Column="0" VerticalAlignment="Top" Width="44" Height="44" Source="/Size.WPF;component/Assets/default-avatar.png" />
        ...
                                               </Grid>
                                            </Border>
                                        </DataTemplate>
                                    </ListView.ItemTemplate>
                                </ListView>
    </Grid>  

我在 WPF 应用程序中有此代码。

问题 - 滚动永远不会出现。而不是添加滚动ListView 使高度更大。

ListBox 也一样。

当我不需要滚动时,它看起来像 当我需要滚动时,它看起来像


包裹在ListBox : Page > Grid (

<Grid.RowDefinitions>
            <RowDefinition Height="90"  />
            <RowDefinition Height="780" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

) > Grid (Grid.RowSpan="3")> Border > Grid (&lt;RowDefinition Height="*" /&gt;) > ListView

【问题讨论】:

    标签: c# wpf listview scroll listbox


    【解决方案1】:

    您可能已经在堆栈面板或其他大小未绑定的控件中找到了网格。

    堆栈面板可以增长到其内容所需的大小。

    您需要限制堆栈面板的最大大小或将其完全删除。

    完成后,滚动条应该会出现。

    【讨论】:

    • ItemTemplate 中删除StackPanel 后,滚动仍然消失:(
    • @demo - 抱歉。我误读了代码。我的意思是你可能在网格之外有一个堆栈面板。
    • 我在 ListBox 包装器中添加了所有控件。希望大家谅解
    • 问题出在第一个网格的最后一行,我将Height设置为Auto
    猜你喜欢
    • 2017-07-18
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2023-03-27
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多