您的位置:首页 > 其它

Windows Phone ListBox无法滚动到底部

2014-01-28 11:21 417 查看
1.

ListBox无法滚动到底部,原因是Listbox它不知道自己有多高,所以需要添加以下代码。

<ListBox x:Name=”lstboxTasks” HorizontalContentAlignment=”Stretch” Height=”{Binding ElementName=LayoutRoot, Path=ActualHeight, Mode=OneWay}” ItemsSource=”{Binding
Tasks}” Grid.Row=”1″>

注意红色部分,将LayoutRoot的实际高度与之绑定,告诉Listbox你有多高

2.

The key to scrolling is the Height value of the ScrollViewer or ListBox (with its built-in ScrollViewer). The Height should be set to the desired viewport size on the screen. You can set Height to an explicit number, but you can have Silverlight set it to the
available height on the screen. Do this by putting the ScrollViewer or ListBox in a Grid row that has Height="*".

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Height="72" HorizontalAlignment="Left" Margin="0" Name="filter" Text="search" VerticalAlignment="Top" Width="458" LostFocus="filter_LostFocus" GotFocus="filter_GotFocus" Foreground="Gray" TextChanged="filter_TextChanged" />
<ListBox Grid.Row="1" HorizontalAlignment="Left" Margin="0,12,0,0" Name="people" VerticalAlignment="Top">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding BuiltName}" Style="{StaticResource PhoneTextLargeStyle}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
Row 0 of the grid has Height="Auto" which means its height will expand to the total height of its contents. Row 1 of the grid has Height="*" which means it will be set to the remaining available height on the screen.

More information about Grid row height: RowDefinition.Height
Property
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: