gpt4 book ai didi

windows-phone-7 - WP7 列表框滚动不起作用

转载 作者:行者123 更新时间:2023-12-03 21:05:09 25 4
gpt4 key购买 nike

我在 WP7 UserControl 中有以下 XAML 标记。我的问题是,当我的 ListBox 中的项目超过页面大小时,它将无法正确滚动。我可以通过用手指向上平移来滚动列表,但是一旦我移开手指,它就会跳回到列表的顶部(如果列表很长,那么滚动甚至无法在有限的范围内工作)。

我尝试了许多不同的布局,但没有成功,例如在 ScrollViewer 中包装 ListBox,使用 StackPanel 而不是 Grid,移除 WrapPanel 并将其替换为网格。

其他类似的问题建议删除 StackPanel(我做了但没有区别)或使用 ScrollViewer(不起作用)。

承载 UserControl 的页面使用 GestureListener - 我删除了它,但它仍然没有任何区别。

<Grid x:Name="LayoutRoot"
Background="SteelBlue">

<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<!--<TextBlock Grid.Row="0"
Text="Search"
Style="{StaticResource PhoneTextTitle2Style}" />-->

<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<TextBlock Text="Search Type"
Grid.Column="0"
VerticalAlignment="Center" />

<RadioButton Content="RMB/RSD"
Grid.Column="1"
IsChecked="{Binding Path=SearchType, Converter={StaticResource enumBooleanConverter}, ConverterParameter=RMB, Mode=TwoWay}" />

<RadioButton Content="Name"
Grid.Column="2"
IsChecked="{Binding Path=SearchType, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Name, Mode=TwoWay}" />
</Grid>

<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<TextBlock Text="Search Term"
Grid.Column="0"
VerticalAlignment="Center" />

<TextBox Grid.Column="1"
Text="{Binding SearchTerm, Mode=TwoWay}"
InputScope="{Binding SearchTermInputScope}">
<i:Interaction.Behaviors>
<b:SelectAllOnFocusBehavior />
</i:Interaction.Behaviors>
</TextBox>

</Grid>

<Button Grid.Row="2"
Content="Find"
cmd:ButtonBaseExtensions.Command="{Binding FindDeliveryPointsCommand}" />

<ListBox Grid.Row="3"
ItemsSource="{Binding SearchResults}"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<ListBox.ItemTemplate>
<DataTemplate>
<toolkit:WrapPanel Orientation="Horizontal"
Width="480"
Background="{Binding RMB, Converter={StaticResource alternateColorConverter}}">
<TextBlock Text="{Binding RMB}"
FontSize="26"
Foreground="Navy"
Padding="5"
Width="60" />
<TextBlock Text="{Binding HouseholdName}"
FontSize="26"
Foreground="Navy"
Padding="5"
Width="420" />
<TextBlock Text="{Binding StreetWithRRN}"
FontSize="26"
Foreground="Navy"
Padding="5" />
<TextBlock Text="{Binding Street.Locality.Name}"
FontSize="26"
Foreground="Navy"
Padding="5" />
</toolkit:WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>

最佳答案

指定 ListBox.Height - 类似于 Height="200"。就像现在一样,ListBox 会自动扩展以容纳所有加载的项目,并且它会超出屏幕。因此,您可以获得没有滚动条的大页面。

添加 ListBox.Height 时,ListBox 区域不会增长。相反,ListBox ScrollViewer 将被激活,您将获得所需的效果。

关于windows-phone-7 - WP7 列表框滚动不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262375/

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