Windows Phone ListBox无法滚动到底部

来源:互联网 发布:在线制作淘宝店铺标志 编辑:程序博客网 时间:2024/06/15 19:25

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

0 0
原创粉丝点击