W7P ListBox不会在模拟器中保持滚动状态

时间:2011-04-12 11:12:47

标签: silverlight xaml windows-phone-7 listbox scroll

我在Windows Phone 7应用的xaml页面中有一个ListBox。它从空白开始,然后我从Web服务中检索一些项目后填充它。到目前为止一切正常 - 项目显示在列表中,一切似乎都很好。我遇到的问题是当我尝试拖动列表滚动到底部(在模拟器中)时:我可以向下滚动,但是一旦我释放鼠标按钮,列表就会弹回到顶部,就好像我没有完全滚动它。有关它为什么会这样做的任何见解?

<Grid x:Name="ContentPanel" Grid.Row="2" Margin="0,0,0,0" Canvas.ZIndex="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/> <!-- EDIT: the problem was "Auto" here should have been "*" -->
    </Grid.RowDefinitions>

    <!-- removed other element for brevity -->

    <ListBox Name="InfoBoardListBox" Grid.Row="1" SelectionChanged="InfoBoardListBox_SelectionChanged"
              Margin="0,0,0,0" FontSize="26.667" />
</Grid>

填充列表的方法:

    foreach (InfoBoard entry in boards.Values) {
        item = new ListBoxItem();
        item.Content = entry.Name;
        item.Name = entry.Id.ToString(); //used to tell which entry was clicked
        InfoBoardListBox.Items.Add(item);
    }

1 个答案:

答案 0 :(得分:3)

尝试将第二行的高度设置为*而不是Auto;我认为这与ListBox认为它与可用空间的大小有关。