gpt4 book ai didi

c# - 为什么特别是这个 ListView 不滚动?

转载 作者:行者123 更新时间:2023-11-30 20:52:27 25 4
gpt4 key购买 nike

我目前正在使用 C# 和 XAML 为 Windows App Store (Windows 8.1) 编程。我在语义缩放中有一个 ListView,当它的项目填满整个可见位置时,它不会滚动。正如我通过研究发现的那样,该问题可能与封闭的 ScrollViewer 或静态设置的宽度和高度有关。

这是 ListView :

<SemanticZoom.ZoomedOutView>
<Hub Header="Overview Panel">
<HubSection>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="120"/>
</Grid.ColumnDefinitions>

<StackPanel VerticalAlignment="Stretch" Grid.Column="1" Grid.Row="1">
<TextBlock Text="All Assignments" FontSize="24"/>

<ListView
ItemTemplate="{StaticResource AssignmentOverviewContentTemplate}"
ItemsSource="{Binding AllAssignmentsList}"
SelectionMode="None">
</ListView>
</StackPanel>
</Grid>
</DataTemplate>
</HubSection>
</Hub>
</SemanticZoom.ZoomedOutView>
</SemanticZoom>

我也试过将以下内容添加到 ListView 或将 Alignments 设置为 Stretch,但没有任何效果:

ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.VerticalScrollMode="Enabled"

谁能帮我解决这个问题?如果这是一个太基本的问题,我很抱歉,我现在还没有真正找到任何对我有帮助的东西。

非常感谢!

最佳答案

我已经解决了这个问题。

出现这种情况是因为DataTemplate 内部没有Space-Limiting-Container。因此我只需要添加一个简单的网格,一切正常:

<Hub Header="Overview Panel">
<HubSection Width="{Binding ScreenWidthFourth}" Header="All Assignments">
<DataTemplate>
<Grid>
<ListView
ItemTemplate="{StaticResource AssignmentOverviewContentTemplate}"
ItemsSource="{Binding AllAssignmentsList}"
SelectionMode="None">
</ListView>
</Grid>
</DataTemplate>
</HubSection>

但请注意不要将(在这种情况下)ListView 放在 StackPanel 中,因为 StackPanel 会为其子级提供无限空间,因此永远不会启用滚动。

我仍然遇到的问题是 ListView 没有填满它的所有垂直空间。但由于我还没有对此进行任何研究,如果我无法解决该问题,我将打开另一个线程。

还是谢谢你:)

关于c# - 为什么特别是这个 ListView 不滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com